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

/cc @pranavkm 
Did we make a choice to move away from the term Registration? If not, I'd prefer using `TagHelperRegistrationCodeGenerator`. `Or` in a type name doesn't seem appropriate.