Original issue: #2529
Added parameters overwrite and checksum. Overwrite forces overwrite even
if a file with the same name exists. If used with checksum then the file
is only uploaded when the checksums of the remote and local files does
not match.

Currently checksum is optional, since files uploaded with multipart
upload are not supported (etags are not md5 checksums).