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.
`map` is lazy, so this let form can be moved up out of the `try`. The same with the other map.