Add connection timeouts to botocore calls

Otherwise they just hang forever.
Retry connection timeouts

Now that we've set a connection timeout, we need to retry
these just like a generic ConectionError from requests.
Merge branch 'conn-timeout' into develop

* conn-timeout:
  Retry connection timeouts
  Add connection timeouts to botocore calls