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
So i've been looking at the in-depths here a bit more and I forgot one big piece.  This class isn't responsible for rendering things like primitives/enums/enumerables etc.  It's for concrete types only.  In my prototype I add functionality for primitives enums etc. in Mvc and the code generator is determined by the MVC provided resolver so the decisions only happen once.  We talked a bit today about bringing some of this resolving functionality into Razor so maybe those attribute code generators should follow suite.

Anyways, long story short I need to make this method dive into sub-generic parameters and return a proper generic string... Something like
```
<string, Foo<string, int>>
```
etc.

Tracking the other code generators here: https://github.com/aspnet/Razor/issues/102