Doesn't try to strip method name from action name.

We were stripping the action (Get, Post, whatever) from the front of
action names (dating from when we were less integrated into the MVC
pipeline). This screws up routing, so we stop doing that now.
Better exception reporting for duff URLs in UrlPatterns.
Includes HTTP method in the generated route names.

Could have multiple routes going to same URL, but differentiated by HTTP
method, so we name routes by the HTTP method AND the URL pattern.
To specify body type for RequestPatterns, introduce type witness.

RequestPatterns which specify the body type can be more naturally
specified by a helper method Urls.Body, which provides a type witness
object to allow C# compiler to infer the type.
Adds 'MapRoute' methods for RequestPatterns with body types.