Add `IHtmlGenerator` and its default implementation
- part of #1243 (kind-of)
- mostly copied from `HtmlHelper` but refactored to
 - consistently take a `ViewContext` parameter and return a `TagBuilder`
 - provide `GenerateActionLink()` and `GenerateRouteLink()`
 - provide a separate `GenerateHiddenForCheckBox()`, allowing
   `GenerateCheckBox()` to return a `TagBuilder`
 - `GenerateForm()`'s `method` parameter is a `string`, not `FormMethod`

nits: format document, consistent line wrapping, variable name changes, ...
Add `TextAreaTagHelper` and Microsoft.AspNet.Mvc.TagHelpers project
- rest of #1243 and all of #1244
- needs a few utility methods for copying `TagBuilder` to `TagHelperOutput`
- but works as-is
Add `GenerateAntiForgery()` to `IHtmlGenerator`
Address code review comments
- add version to Microsoft.AspNet.Mvc.TagHelpers/project.json
- also turn on warnings-as-errors
Add `IHtmlGenerator` to DI
- enable MVC tag helpers in TagHelperSample.Web
- also fix a couple of issues in TagHelperSample.Web