Fix issue #1282 - Add Request.CreateResponse extension methods

Adds the set of CreateResponse/CreateErrorResponse extension methods that
return an HttpResponseMessage.

For the overloads that perform content negotiation they will access the
collection of MediaTypeFormatters through the shim options. Note that
CreateResponse and friends use the OLD formatters.

Also, HttpError and CreateErrorResponse assume ErrorDetail == false. Using
the shim you will not get detailed error messages unless you construct the
HttpError instance yourself.
It finds the first writer that can write the specified media type. This isn't really *full* conneg since it doesn't consider the accept header.

This is how it behaves in webapi 2.