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
Nevermind. They're different methods. That said, would it be easier to simply repeat these methods under individual conditions

```C#
if (contentBehavior == ContentBehavior.Modify)
{
   /* All invocations here */
}
else if ...

```
It would be easier to understand what the control flow is for each of the cases. Right now, it's particularly difficult to follow what happens in individual `ContentBehavior` cases particularly since we use `!=`