Tag helpers registration system

- This registration system accepts tag descriptors that it then uses to feed requests for tag helpers.
- Added some infrastructure pieces that are used to build up valid tag helper descriptors.

#70
1. Definitely considered that, was waiting to see other people's opinions.  Looks like I should modify :smile: 
2. The caller of this method doesn't understand the resulting type of the value that will be rendered.
3. By default it can't support multiple constructor parameters.  If a user wants to add custom expressions (expressions are what the system understands as tag helper html attributes) they'd have to add their own code generator for them.
4. Render :smile: