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
`VisitTagHelperRegistrationChunk` or just `VisitTagHelperRegistration`.  don't add new names for the same things.
- if not, rename `TagHelperRegistrationVisitor` to `AddOrRemoveTagHelperSpanVisitor` but even then use `Visit` here and not `Handle`