ViewStarts need to be executed as part of View execution

Fixes #834 
Can you run this through the profiler and see if it has interesting impact on perf? There are several allocations/sorting/etc, that would be constant for the lifetime of the app, and perhaps just like when we cache the page, we can potentially cache all the paths upfront and avoid the extra allocations (while still accounting for the fact that _ViewStart.cshtml can be removed or changed at runtime).