Add @model specific code generation to fix design time intellisense

By adding model specific code generation we are able to map the generic "base type" code to the cshtml file.  This also involved utilizing the CreateClassDeclaration method in the Microsoft.AspNet.Razor library.  Lastly Added a MvcCSharpChunkVisitor to add one more abstraction layer between the Microsoft.AspNet.Razor code and the Mvc code; this makes it so Mvc follows the same class structure as the base Razor parser.

Also modified test to use new ModelCodeGenerator.

This PR is reliant on https://github.com/aspnet/Razor/pull/77 going in first.
It definitely generates invalid code when you do ```@model ``` but this is expected since the directive is incomplete.  It triggers a Razor error stating that it needs to be followed by code.  In the old world we'd also generate unfinished "invalid" code therefore I don't foresee this being any different.