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
- strange.  does this overload get passed `TagHelperChunk`s due to some declared type oddity?
- don't need two conditional casts, just
``` c#
  var tagHelperChunk = chunk as TagHelperChunk;
  if (tagHelperChunk != null)
  ...
```