Add TagHelperRunner for TagHelper runtime.

- The TagHelperRunner is responsible for calling into the process methods of the TagHelpers.
- This involved adding the following core classes: TagHelper, TagHelperExecutionContext, TagHelperOutput, TagHelperContext.  All of which aid in running TagHelpers.
- Tested TagHelperRunner, TagHelperOutput and TagHelperExecutionContext.

#154
`/// <c>string.Empty</c> if <see cref="SelfClosing"/> is <c>true</c>.  <see cref="Output"/> otherwise.`
(current description is confusing, partially because `Output` is already a `string`, and references `TagBuilder` concepts)