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
Wanted to allow the existing optimizers to have the chance to add `@addtaghelper` directives if they felt it important.  I'll make the `TagHelperRegistrationVisitor` and optimizer that just returns the block and doesn't actually rewrite anything, this way it'll be a part of the `Optimizer` list and will get the benefits of both worlds.