Introducing types to allow flowing compilation settings to the application

The idea was to share `ProjectExtensions.cs` and `CompilationSettings.cs` between KRuntime and Mvc.Razor (some sort of pre-build step that does this). Razor adds this conditional compilation setting which would allow