Add helper extension methods for route data
    - Added RouteData.GetCurrentPage<T>()
    - Added RouteData.GetNavigationContext()
Add NavigationContext class
    - Creating a new intstance of this class will give you the current navigation context from the property CurrentContext
Refactor shady for loop with another shady Func
Refactor to use NavigationContext
    - Instead of IEnumerable<IPage> we can now use NavigationContext
Load the navigation context
    - Because we often use the navigation context it can be loaded for each request with no extra round trip to the server
Use NavigationContext
    - Let the default view model implement the NavigationContext
Random changes in the test project