s3: Allow an arbitrary HTTP client to be used

This commit allows one to set a specific http client, which proves usefull when we want to add some specific timeout or use a non-default pooling system