Add TagHelperSample.Web
Address tag helper sample code review comments and reflect offline discussion
- lots of new comments in Create.cshtml
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
Add missing `[ContentBehavior]` to `TextAreaTagHelper`

nit: correct TODO comment
Add tests of `TextAreaTagHelper`
- new Microsoft.AspNet.Mvc.TagHelpers.Test project
- bit of test infrastructure -- `TestableHtmlGenerator`
 - short-curcuits validation attribute and AntiForgery additions
 - should help when testing all MVC tag helpers

nit: remove duplicate entries for TagHelpersWebSite in Mvc.sln
Add extensions for TagHelperOutput to copy from TagBuilder.

- Tested out Merge and MergeAttributes.

#1319