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
no need to enforce this just working once.  as you can tell, the extra code raises questions and will cause other developers to waste time when they read it.
so just always return `_tagHelperDescriptors`