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
The alternative would be:

```C#
var contentBehaviors = tagHelperDescriptors.Select(descriptor => descriptor.ContentBehavior);
var nonDefaultContentBehaviors = contentBehaviors.Where(behavior => behavior != DefaultContentBehavior);
contentBehavior = nonDefaultContentBehaviors.Any() ? nonDefaultContentBehaviors.First() : DefaultContentBehavior;
```

We're working with our own `ContentBehavior` type do we want to add the extra logic/execution?