Added retry mechanism for S3 connection errors

Closes #95
I was following the convention used for `discovery.type`, `gateway.type`, `http.type`, `index.cache.docset.type`, `index.merge.policy.type` and so on. But we also have `cache.recycler.page_cache_impl` and `common.util.big_arrays_impl`.