Updated uploadFileToS3.

- Setting an acl will be retried up to 3 times before failing.
- A more informative error will be thrown if the ACL could not be set.