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
- these descriptions look good but aren't yet covering the whole behaviour concept.  part of that, I realize, comes from the descriptions' focus on `TagBuilder` concepts which don't exactly fit in Razor. might work better to focus on when tag helper output is generated w.r.t the original placement of the tag element.
- so either now or as a follow-up item we track, I suggest updating these descriptions to focus on the behaviours giving the tag helper responsibility for the generated element's start tag (i.e. tag name and attributes), beginning of its contained HTML, modifying its contained HTML, et cetera.
- if we stick with tag builder concepts, at least mention which behaviours lets the tag helper change the tag name.