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
nit: remove everything after "current HTML tag".  at most state ". This content comes from child elements in the Razor source when executing under `ContentBehavior.Replace`; <c>null</c> otherwise."  but that could be left out or put in a `<remarks/>` element.