copy object server rebased

rebased to develop branch. will be squashed in another branch/PR. addresses #548 .
- [x] code cleanup around `riak_cs_wm_object_upload_part`
- [x] dialyzer / xref
- [x] [multipart upload copy](http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadUploadPartCopy.html)
- [ ] oos copy => will be done with #838
- [x] riak_test
- [x] use ETag: `x-amz-copy-source-if-match, x-amz-copy-source-if-none-match, x-amz-copy-source-if-unmodified-since, or x-amz-copy-source-if-modified-since` c.f. #855 
- [x] can change metadata
- [ ] can't change storage class, `x-amz-storage-class`
- no versioning
- no lifecycle

TO BE DONE (maybe not in the scope):

- riak_test of `x-amz-copy-source-if-*` tags, including range
- oos copy & and its test
What is OOS copy?