Moving IModelValidatorProvider to Options

Fixes #879
Removing unused namespaces
Fixing build break by updating comment
Prevent flushing when writing out from the formatters.
Also make the XML formatter respect object as a return type.

Issues: MVC/1073, MVC/972, MVC/958

1072 is a followup work item to add test coverage.
Updated to use the new target framework in project.json
Changed remaining ifdefs from K10 and ASPNETCORE50
Adding support for flush points in Razor pages

Fixes #1042
[Fixes #734] Attribute Routing: Implement Name

1. Added support for Name in attribute routing. Name can be defined using [RouteAttribute]
and the different Http*Attributes, for example [HttpGet].

2. Names defined on actions always override names defined on the controller.

3. Actions with a non empty template don't inherit the name from the controller. The name
   is only inherited from the controller when the action template is null or empty.

4. Multiple attribute routes with different templates and the same name are not allowed.
Updating FunctionalTests to use HttpClient abstractions
Take advantage of nameof to improve our usage of MemberData across the code base.

Substituted all instances of [MemberData("PropertyName")] for [MemberData(nameof(PropertyName))]
This change enables us to take advantage of IDE features like Navigate to source,
find all references, etc. When using Visual Studio.
Updated to use the new target framework in project.json
Issue #668: Sample should be covered by a basic functional test.
Introducing UnitTests for XmlFormatters to confirm that headers are always written before writing the body.
Addressing PR comments.