Accept an IO instead of a path in SandboxUploader#upload v2

Hi,

Second try to get #71 merged. To make sure I didn't introduce another bug, I added more security features ( checking the upload id against the content md5 ) and tested it against chef server 11.

Thank you
Hannes