Added support for the S3 SSE-CPK

Adding support for [S3 server-side encryption using customer-provided keys](https://aws.amazon.com/releasenotes/2836182191827379). This includes a listener that handle base64-encoding the key and setting the base64-encoded hash of the key.