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.
Docstrings should explain what a function does, not why a particular decision has been made, or what might planned for the future. Just mention that it uses a single thread.