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
Nope, thankfully :smile: .  `ChunkBlock` is the rawest type of blocks that happen to have children, so far we haven't needed to have a block that just had children and no other context associated with it; now that has changed: https://github.com/aspnet/Razor/pull/134/files#diff-fda0664dd02c13640a5f89ae7f284860R64  .