Add @addtaghelper directive. 

- Also added some infrastructure pieces for it such as the ITagHelperDescriptorResolver and the default implementation TagHelperDescriptorResolver which will be filled out in a later commit.
- Reworked some extensibility points to allow accessibility of the descriptor resolvers per offline discussions.
- Fixed existing tests to work with new RazorParser.
- Validated directive syntax tree creation, errors and code generation.

#111
- why is very specific `tagHelperDescriptorResolver` parameter first?
- why must hosts uninterested in tag helpers provide a non-`null` `ITagHelperDescriptorResolver`?  chunk visitors should throw if they see `@addtaghelper` when `_tagHelperDescriptorResolver` is `null`