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
We can't compare based on all parts of the tag helper descriptor, we need to limit the comparison between the full tag helper type names, nothing else.  That way if a tag helper targets multiple tags it's only ever declared once.