s3: Add support for using Content-MD5 with PutReader.

RFC 1864 specifies that this header field is base64 encoded.
This is slightly odd since ETag is hex encoded.