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
sorry, I'm a bit lost.  what scenario does the code generation in this PR address?  we've agreed the only scenario for `TagHelperExpression` involves the user typing a `Func`, likely in the context of a `CreateTHE<TValue>()` call in the generated code or perhaps a `CreateTHE<bool>()` we also generate (because we hit a `TagHelperExpression<bool>` property in the tag helper. everything else is just text, albeit escaped and quoted in a couple of special cases.