s3: Allow an arbitrary HTTP client to be used