[Design] 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
- for consistency w/ line 32, just `!=`
- this and the blocks below will work well as a ternary expression