http.Client flexibility

This change does not change the existing API, but it adds an extra function that allows programs to use the library with non-standard http clients.