title: UriMapper and rewritten URI issue
body: <p>Sorry for the lame question title, it's hard to describe the problem in one sentence. The problem is as follows:</p>
  
  <p>I need to make sure user has accepted license agreement before he can start using the app. My idea is to use UriMapper, which will check if user has accepted agreement before, and if not, redirect him or her to the license agreement page.</p>
  
  <pre><code>public override Uri MapUri(Uri uri)
      {
          if(!settingsStorage.IsLicenseAgreementAccepted)
              return LicenseAgreementPage;
          return uri;
      }
  </code></pre>
  
  <p>However, on the license agreement page, if I override OnNavigatedTo, I see that the navigation URI is not current page's URI, but rather the non-mapped URI, e.g. address of my main page. Therefore, when I try to navigate to that main page, nothing happens, since navigation service think I'm already there.</p>
  
  <pre><code>public partial class LicenseAgreementPage : PhoneApplicationPage
  {
      protected override void OnNavigatedTo(NavigationEventArgs e)
      {
          base.OnNavigatedTo(e); // somehow e.Uri equals to /MainPage.xaml, instead of /LicenseAgreementPage.xaml
      }
  }
  </code></pre>
  
  <p>So how to overcome this? Is the UriMapper not applicable here? Or is there some workaround?</p>
  
  <p>Thanks.</p>