Include request/response details in mapped error, when possible

When a non-200-series HTTP status code is received and there is no object
mapping set up to handle it, an NSError is generated that includes the response
string, the request's URL, and the request and response objects themselves. This
allows consumers of RestKit to inspect these objects (for instance, to find out the
status code) in order to determine the correct course of action.
(See RKHTTPRequestOperation's `error` method)

When an object mapping does exist for non 200-series status codes, the mapped
error does not include this information - it only includes the mapped error(s) and
a localized description. This leaves RestKit consumers no idea of what the HTTP
status code was, which is usually important information when determining how to
react to an error.

This commit adds URL, request, and response to the NSError object, but does not
add responseString, because the same information is conveyed by the mapped
error object(s).

We maintain backwards compatibility by using `nil` for request and response when
using the old function.