added tests for json input formatter
Create a new routedata for each 'router' for MVC

This is the MVC companion to https://github.com/aspnet/Routing/pull/122

As routing flows, routes replace the route data and mutate a copy. This
allows users to make changes that dirty the data without affecting
undesired state changes.

We also add the 'next' router for diagnostic purposes.
Fix to special case Dispose method to be treated as non-action
Fixing xml comment typo
Add `BeginRouteForm()` HTML helper
- refactor `DefaultHtmlGenerator.GenerateForm()` to support new method

nits:
- correct XML comments
- add a few more code comments
Add `Html.BeginForm()` and `Html.BeginRouteForm()` tests
- helps w/ #453 since `Html.BeginForm()` wasn't previously tested
- provide a `DefaultTemplatesUtilities.GetHtmlHelper()` overload with an
  `IHtmlGenerator` parameter
- update `DefaultTemplateUtilities` to use `DefaultHttpContext`
 - stop using a mock for this purpose; provides a non-`null` `Request`

nit:
- `DefaultTemplatesUtilities.GetHtmlHelperForViewData()` -> `...GetHtmlHelper()`
  for consistency with other overloads
Address PR comments in product code
- XML comment improvements
Address PR comments in test code
- add missing license headers
- make "post" more obvious
- use `Assert.IsAssignableFrom()`

nit: remove unused `using`s in `HtmlHelperLinkGenerationTest`
Per PR discussion
- clean up "the the" in XML comments
- simplify refactoring VS did when I renamed `GetHtmlHelperForViewData()`
 - fix existing issue in `HtmlHelperCheckboxTest.CheckBoxReplacesUnderscoresInHtmlAttributesWithDashes()`
   (was using a `HtmlHelper<ViewDataDictionary<TestModel>>`)
Introducing RazorViewFactory for RazorView
Updating FindView_UsesViewLocationExpandersToLocateViews for IRazorViewFactory.
Updating per comments
Updating the summary comment for IRazorViewFactory and its tests per comments
Updated a comment and sort usings
RenderSection \ RenderSectionAsync does not work in sections
Fixes #1509
Removing a <inheritdoc> comment that I forgot from the previous push.
Fix for MVC #1539 - Deal with the case where request services are not set

Rather than throwing here, this does what routing does. If request
services aren't set, we just create our own scope.

This will NOT create an extra scope if request services are already set.
Revert "Fix for MVC #1539 - Deal with the case where request services are not set"

This reverts commit d9a3c265eaa13012c5f4d0f68bfe6d8b8fe6e948.

This was the wrong commit, did not intent to merge this.
Adding a functional test that modifies data tokens

Tracked by aspnet/Routing#116

The product support for this feature is in already this change just adds a
test verifying the scenario.
Fix for #1447 - Adding functional tests that verify per-request services

These tests verify that per-request services can be injected into assets
that users provide/implements (filters, constraints, controllers, views,
etc).

The purpose is to verify that the services are correctly resolved from the
per-request service container, and don't have state that lingers and
influences the next request. This is important because changing the
lifetime of a framework services could easily impact the lifetimes of
others, and ultimately of something the user created.