Allow invalid HTML to be in Razor pages.

- Modified the TagHelperParseTreeRewriter to not remove invalid HTML snippets.
- Added tests to validate invalid HTML is allowed.

#212
the `GetTagName()` method does validation, requiring for example that the block has no children.  so passing along whitespace breaks the contract of this method -- caller is expecting a valid tag name.
further the caller now handles `null` return without dropping the invalid characters.  and tag names containing whitespace should never match a tag helper.  so this additional special case is redundant and should be removed.