Add TagHelperScopeManager for TagHelper runtime.

- The TagHelperScopeManager is responsible for TagHelperExecutionContext lifetimes.  The execution contexts are the objects responsible for tracking TagHelper data such as HTML attributes, all attributes, tag helpres for a specific HTML element etc.
- Also added an interface ITagHelperScopeManager so we can activate the type via DI.
- Added tests for TagHelperScopeManager functionality.

#155
teensy nit: don't need "TagHelperScopeManager" in these test names e.g. this one might be "Begin_CreatesContextWithAppropriateTagName"