Add `InputTagHelper`

- first part of #1245 (mostly needs tests)
1. `ContainsKey()` doesn't take a `StringComparison` argument and the lambda makes this ugly
2. the current code is consistent w/ methods in `TagHelperOutputExtensions.MergeAttributes()` though that's not consistent with `TagHelperOutputExtensions.CopyHtmlAttribute()`

Nonetheless I'll use Linq.

@NTaylorMullen should I fix `TagHelperOutputExtensions.CopyHtmlAttribute()`?