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` 
There's a catch-all clause after this, which is being used for when the third arg is a record. Probably the guard should've been retained on that function.