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
need to find a more meaningful name than `buildType`.  it's the declared type of the property in the tag helper class and the target / required type of the attribute's value in a .cshtml file.  so I lean toward `declaredType`