Return the part/key so that the user can manage multipart uploads

Currently uploading a part does not return the key. The key is
important as it contains the server generated etag which may
then be used by the user to complete the multipart upload
without asking the server for a list of parts.
Add unit test for getting the etag from the uploaded part.
Fixed #1687 - Headers involved with signing sent with S3 keys should be case-insensitive for the user.
Merge pull request #1675 from tpodowd/mpu_return_part_for_etag

Return the part/key so that the user can manage multipart uploads. Fixes #1675, #1305.
Merge branch 's3-signed-headers-case' into develop