Fix #43

Reset the position of file-like object
Addressed in 7a4dbfb. My only concern is that we could be doing a chunked upload in which case `Content-Length` will not be set. The best example I can think of this is if the user passes an instance of `io.BytesIO`. These have a `seek` method, but there would be no `Content-Length` header available. In that case, we can't be sure how far back to seek so I opt that we don't. Do we instead (in the event that the `Content-Length` header is not set) just want to seek back to the beginning? I'm not sure which is more unexpected: not seeking back or seeking all the way back to the beginning.