Change MVC tag helpers to not override tag name

- #1523
- test tag name preservation with all MVC tag helpers
 - `<input/>` tag helper generation of a checkbox wasn't previously tested

See individual commit descriptions for more.

/cc @NTaylorMullen @pranavkm 
- the interaction hasn't changed because `inputType` would never be `null` or empty here.
- all MVC tag helpers read from the Razor source, not the current `TagHelperOutput`.  so, yes, that's what we're going for.