S3 retry

Retry for S3 operations (off by default).
Intent is that it can be extended to other services as needed.
Plan to merge after this has been open a few days for comments and while we do further testing in production.