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
- `Build()` seems wrong here since you're actually talking about instantiating an instance of some CLR type.
- are we really going to call an instance of a `THE<T>` property when generating (wait for it) code to instantiate an instance of the `THE<T>`?  since Razor seems to split so many things apart, this is a rather surprising combination.  expect THE types and generators for those types to have parallel but separate class hierarchies.