New S3UploadWithSettings function
Our S3 upload functions use inconsistent return types, and some of them make assumptions about link expiry that we want to have control over.
Create a function that can replace S3.UploadWithSettings
, so that we can use a consistent approach to S3 uploads. The new function will exist side-by-side with the existing functions until such time as all uses of the other upload functions have been converted.