Fix streaming downloads

This makes streaming uploads and downloads work correctly in `ubic_file`. To view the `ubic_file` CT tests pass using this version, clone https://github.com/varnerac-ubnt/ubic_file/tree/experimental and `make test`

Do not merge https://github.com/varnerac-ubnt/ubic_file/tree/experimental into `ubic_file`. Once this PR is merged into `mini_s3`, we can generate a correct PR for `ubic_file` 
Maybe, but probably not. This test suite is against `fakes3`, a Ruby gem that tries to act like S3. However, it doesn't act like S3 as well as S3 does In this case, it fails to honor byte-range HTTP headers.The functionality above actually gets tested against the real S3 here in `ubic_file`: https://github.com/varnerac-ubnt/ubic_file/blob/experimental/test/ubic_file_SUITE.erl#L184-L215

It runs the tests with smaller sizes, mainly because I don't want to run up UBNT's S3 bill too much in the integration test. Should there be a set of CT tests for `mini_s3`, absolutely. However, since UniTel is under a time crunch, I'm content making sure the new functionality is tested there.

Also, unlike `ubic_file`, we can't embed the UBNT Dev Amazon S3 keys in the tests, because `mini_s3` is a public repo, even our forks. We'd be sharing our S3 keys with the world. I intend to have a test suite similar to `ubic_file`'s for `mini_s3`, but I am not sure it's a priority now. `mini_s3` came with zero CT tests.