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.
We used to not write the `<Model>` when ModelType was null. Does that make a difference?