Allow passing an arbitrary http.Client

This dependency injection is helpful for folks who for some reason can't use the http.DefaultClient. Go AppEngine users who need to use the "appengine/urlfetch" package could be one example:

https://developers.google.com/appengine/docs/go/urlfetch/