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
- don't talk (down) to the reader.  `// Must call '{2}.{1}' before calling '{2}.{0}'.
- as illustrated in previous bullet, don't name classes or their members in resources; pass in `nameof()` strings