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
nit: could use a follow-up issue on avoiding lock-in to `TextWriter`.  all we really know about the `StringValueBufferVariableName` type is that `ToString()` does something useful. even there, we could add a `StringValueBufferAccessorMethodName`.  don't need it now (I think) but eventually `StringValueBufferTypeName` may be a worthwhile add.