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
nits:
- wordy, why not just `/// Ends a <see cref="TagHelpersExecutionContext"/> scope.` ?
- no need for `(string)` in the reference to the `Begin` method.  will just cause churn or broken references if that method's signature changes.