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
get rid of the `Action` parameter here, in the `AttributeValueCodeRenderer` (side note: why is that a tiny, separate class at this point?), and in as many callers as possible.
to avoid the delegates, instead create an `AttributeValueCodeWrapper` with an instance (`virtual`) `PrependValue()` method that does nothing in Razor.  MVC's `PrependValue()` would conditionally write `(__m) => __m.` or `(__m) => `.  Doubt we'll ever need to write anything after the user's code.