Resolved an issue where the target IO was not rewound for streaming operations.

Given the following:

    s3 = Aws::S3.new
    s3.put_object(bucket:'name', key:'key', body:'hello')

The following code would always return an empty string,
until you called `#rewind`:

    resp = s3.get_object(bucket:'name', key:'key')
    resp.body.read
    #=> ''

    resp.body.rewind
    resp.body.read
    #=> 'hello'

This commit patches the http handler to rewind the http response
body IO object before returning. Now the following works:

    resp = s3.get_object(bucket:'name', key:'key')
    resp.body.read
    #=> 'hello'

Added an integration test to prevent regression.

Fixes #67