Handle 307 redirect for file-like object, don't use isinstance check

This fixes aws/aws-cli#544 and aws/aws-cli#654

The issue here is that the CLI uses a file like object
that implements .read() and .seek(), but doesn't actually
inherit from the file/_IOBase.

This means that we weren't rewinding the stream in the case of 307 redirects
when using multipart uploads in the CLI.