Add TagHelperSample.Web
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 `IHtmlGenerator` to DI and enable MVC tag helpers in TagHelperSample.Web
- also fix a couple of minor issues in TagHelperSample.Web
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 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
Update `HtmlHelper` to use `IHtmlGenerator`
- make a few more methods available as `internal static` in `DefaultHtmlGenerator`
 - remove `IHtmlGenerator.GenerateOption()`; now `internal static`

nits:
- add `IHtmlGenerator.IdAttributeDotReplacement`
- move `DefaultHtmlGenerator.IdAttributeDotReplacement` after constructor
- move `HtmlHelper.ActionLink()` below static methods
- move newly-`internal` methods together in `DefaultHtmlGenerator`
- correct placement of `DefaultHtmlGenerator.GetValidationAttributes()` comment
Reacted to options and hosting changes after rebase.
Add extensions for TagHelperOutput to copy and merge from TagBuilder.

- Added tests to validate functionality of all TagHelperOutputExtension methods.

#1319
Add FormTagHelper.

- Added the FormTagHelper.
- Utilized the IHtmlGenerator to share base functionality with the HTMLHelper counterparts.
- Added tests to validate FormTagHelper functionality.

#1246
Add AnchorTagHelper.

- Added a TagHelper that targets the <a> tag and allows users to do the equivalent of Html.ActionLink or Html.RouteLink.
- Added tests to validate AnchorTagHelper functionality.

#1247
Add ValidationMessageTagHelper.

- Added tests to validate ValidationMessageTagHelper functionality.

#1250
Quick tag helper fixes
- build break due to invalid XML comment in `TagHelperOutputExtensions`
 - nit: correct "overridden" spelling in same comment
- use `TagHelperOutputExtensions` in `TextAreaTagHelper`
Moved @addtaghelper to ViewStart.

- Updated project.json to have a valid webroot. Webroot isn't pointing to the specific folder because the TagHelperSample has no valid content for the webroot yet.
Add ValidationSummaryTagHelper.

- Tested ValidationSummaryTagHelper behavior.
- Updated sample to utilize new ValidationSummaryTagHelper format.

#1251
Add Label TagHelper.

- Validated label TagHelper functionality.

#1249
Fix tests and changed TagHelper activates property accessors.

- Changed TagHelper property accessors from private to protected internal.
- Changed throw tests to be shorter.
- Changed reflection setting to now use the internal accessibility of the TagHelpers
- Removed activator to just use internal accessibility of TagHelpers.
- Changed new StringWriter() instances where we didn't need the StringWriter to be TextWriter.Null
Add `InputTagHelper`
- also make `TagHelperOutputExtensions.MergeAttributes()` case-insensitive

nits:
- deliniate attribute names in all resource strings
- update validation messages in TagHelperSample.Web