Retry idempotent requests.

Should we maybe just capture all "SystemCallError"s?
From what I can see, that's the parent for all the various Errno's (see: http://www.ruby-doc.org/stdlib-1.9.3/libdoc/webrick/rdoc/Errno/ECONNRESET.html)