Makes the transport properly support custom transports and not just specifically http.Transport by switching to http.RoundTripper interface
Errors on non-2XX HTTP response codes before it tries to read the response body