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.
Rather than an `if`, a `cond` might make more sense here, e.g.

```clojure
(cond
 file   (set-file-part file)
 stream (set-stream-part stream))
```