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
(think an earlier comment got lost or buried, making a test comment that said "too" seem nonsensical.)
please rename this class to `TagHelpersExecutionContext`.  it is unlike everything else i.e. the class / field / whatever prefix is just "TagHelper".