Fix #620, Remove legacy / non-unobtrusive client side validation
- remove `ViewContext.UnobtrusiveJavaScriptEnabled` property and all references
- avoid `ViewContext.GetFormContextForClientValidation()` calls since
  ternary expression is more explicit and we were inconsistent
- improve `ValidationMessage()` comments
- don't treat `ModelState.IsValid` as if it were still nullable
Cleanup unused `FormContext` members due to legacy validation removal
- provide new property back for customer use
- remove unused FieldValidationMetadataClass
1. Introducing XML Input Formatters.
2. Adding DelegatingStream class
3. Unit + Functional tests for formatters.
Add friendly name to action descriptor. Issue 820

Used in error messages for various attribute routing pieces, and anywhere
that you need a display name for an AD.
`@Html.DisplayName()`, `.DisplayText()`, `.Id()`, `.Name()`, `.Value()` return `string`
- fixes #566
- allows compositions such as `@Html.Label("property", Html.Id("property"))`
- adjust XML comments to match
- add missing XML comments to `HtmlHelperValueExtensions`
- correct typos in `DisplayText()` and `ValidationMessageFor()` comments
- also increase XML comment consistency for changed methods
Remove useless `.ToString()` calls in tests
Add `HtmlHelperDisplayTextTest` and `HtmlHelperValueExtensionsTest` classes
Improve XML comments in `IHtmlHelper`
- generally make wording more consistent e.g. how we use words such as "returns"
- display HTML elements as tags