Allow configuring putObject options when saving to S3

I needed this to be able to control `CacheControl` headers returned from S3 (it makes a lot of sense when you serve images from S3), but it can be used for setting other options as well (e.g. `ContentDisposition`)