basic file uploading, take 1

go fmt

merge from upstream/master

Update variables to be more descriptive

return (pointer to a) struct from BasicObjectDowloader instead of interface

Comments and go fmt

fix type in comment

support for basic object uploading

refactor to only embed *bytes.Buffer; add WriteTo support

basic object uploading, take 1
add function to delete object