Create TagHelper specific C# code Generation.

- Added TagHelperChunk generation.
- Added CSharp visitors to understand TagHelperChunk's and render corresponding C# code.
- Refactored some code in the CSharpCodeVisitor so it could be utilized in other classes.

#72 

I split up the test portion of this PR to reduce noise.  PR: https://github.com/aspnet/Razor/pull/135
excuse that rest of class is undocumented doesn't work for me here.  when would `instanceName` be anything except `this`?  why bother qualifying the method name with `this.`?  if this method handles calls to methods on some other instance (not the current object), make that clear in the name and with comments.