Add FormTagHelper.

- Added the FormTagHelper.
- Utilized the IHtmlGenerator to share base functionality with the HTMLHelper counterparts.

#1246
since `Assert.Single` call doesn't restrict key, check that as well.