created a stream uploading variant to put-multipart-object

Hey @noisesmith, I tried to clean up the broken merge in #41, would be great if you could take a look.

I tested this in @noisesmiths fork but deleted the code so this particular version is essentially untested.
I'm trying to setup some testing setup for the project, including a test for this.
Will put that into another PR later.
You're passing through `opts` but also adding those options to `upload` as well. You don't need to do both.