Add read retries to avoid problems related to s3 eventual consistency

To avoid cases where exists() returns True while get_contents() raises an exception due to aws s3 us-standard behavior, I've added a 3-times retry with a 100 ms sleep between retries.
I should be an acceptable trade off between increasing response time and avoiding errors on read.

You likely don't need it - unless I missed something.
You can access (in your test) the driver by accessing: `self._storage`