Need to retry for S3 checksums/databags/other HTTP endpoints, even on SocketError

Support has been seeing a lot of issues communicating with S3 lately.
Let's try more than once on SocketError::ETIMEDOUT, as that one seems to be occurring intermittently too.
You are going to log and raise a Timeout error here for a SocketError which is going to mask the real problem.  The SocketError probably needs to be in its own rescue.

I'm also a little unclear as to why some of these have backoff and some of them don't.  I vaguely recall that there might be `$REASONS` for doing it this way but don't recall what they are, and therefore don't know how we should treat SocketError.