S3 retry

@hemantkr please review 
I haven't tested with talko_service yet, and will do that before merging, but would like to make sure you don't see any issues with this approach.
Would be nice to expose configuration for retries here as well. E.g. number of max attempts and interval between each retry.