Make the putS3ObjectRequest public to allow for further customization

The current code does not allow for further customization such as content-type, content-encoding.

Instead of adding more methods so these properties can be changed, the visibility of the putS3ObjectRequest method can be changed to public so the customization can be done by the developer and pass the request down to the library.