Separating view execution and Razor behavior

* Introducing RazorPage and RazorPageOfT that represent the Razor
* execution
  aspect of view execution. Moving view execution hierarchy behavior
    (Layout, partial views etc) into a separate RazorView type.

* Renaming IVirtualPathViewFactory to IRazorPageFactory,
  IRazorViewActivator to IRazorPageActivator

* Renaming VirtualPathViewFactor to FileBasedPageFactory to
  correctly reflect what it does.

Fixes #814
This should probably just stay with the old name. As we plan to do precompiled views, this will probably be the same factory used for both because we have the three cases:
1. Compile from disk
2. Use precompiled and override from disk
3. Use precompiled and ignore disk completely.