First pass on weaving in retry logic.
Make retry configurable
Default to no retries.
Merge pull request #27 from taketime/master

Add S3 retry