Add @removetaghelper directive.

- Added parsing recognition of the @removetaghelper directive.
- Added TagHelperDescriptor handling: @removetaghelper will cause the system to ignore TagHelpers that are added via @addtaghelper.
- Added Chunk generation, this involved building a CodeGenerator (soon to be named ChunkGenerator) that pulled out the stringified @removetaghelper lookup text which it then uses to construct a RemoveTagHelperChunk.
- Modified CodeVisitors to now understand RemoveTagHelperChunk's.
- Added code generation, this involved creating a dummy string in order to give the @removetaghelper "..." coloring.

#112 

Split out tests into a separate PR to reduce noise (lots of tests): https://github.com/aspnet/Razor/pull/205
nit: I'm not sure of the use cases but, if `CSharpDesignTimeHelpersVisitor` is intended for others to subclass, should make this method `protected virtual`.  leave as-is if methods are `protected` only because they're overriding `CodeVisitor<CSharpCodeWriter>` methods.