Multipart file upload

While use this library I found a issue where attempting to upload a 300mb+ file via the put-object function would never finish.  I found that Amazon suggests that for files larger than 100mb a multipart upload should be used.  So I wrote this with the hope others may benefit as well.