Reset the stream on retry (cli issue 401)

When we retry a request, we first need to rewind the stream
if possible.  Otherwise, we will only send a portion (or none)
of the stream which will cause the server to wait because our
content length won't match what we've sent.  Eventually the server
will just close out the connection.

To help with debugging with types of failures in the future I've also updated
the retry handlers to be more verbose about why we're trying a request.

Fixes aws/aws-cli#401.