[Codeplex #1853]: Delete TransientFunction and TransientAction

Summary of this changeset:

1. Remove the TransientFunction and TransientAction functions
2. Remove the IsAlwaysBindable, AlwaysBindable
Fix for codeplex #1996 - Nullref on 404 with webapi batching

The issue here is that one of the requests in a batch was matched by an
MVC route when running in web host.

The batch handler uses HttpServer to invoke the individual requests.
Internally the HttpServer forwards the request to an
HttpRoutingDispatcher.

In the web host case, the HttpRoutingDispatcher has a reference to
HostedHttpRouteCollection - which is implemented by matching BOTH WebAPI
and MVC (System.Web) routes. If an MVC route matches, then the produced
IHttpRouteData instance doesn't have its .Route property set as the
underlying route that matched does not implement IHttpRoute.

This causes attribute routing in the controller selector to fail, as we
did not anticipate this case.

Followup filed to consider whether or not this is the right behavior for
the dispatcher/route-collection.
Add `ModelMetadata.HtmlEncode` property
- use new `ModelMetadata.HtmlEncode` property in HTML helpers
 - conditionally in default HTML display and editor object templates (e.g.
   `@Html.DisplayFor()`) when value is non-null and the template is invoked
   with template depth greater than 1
 - unconditionally in `@Html.DisplayText()` and `@Html.DisplayTextFor()`
- test new property and its use

Also test `DisplayTextExtensions`
- unit test gap
Merge branch 'v3.2-rtm'