Refactoring in s3.Key (md5 and base64md5 as local variables in _send_file_internal and should_retry)
Add s3.Key.delete_metadata()
Add client_side_encryption_key on S3Connection
Add internal classes _AESBase, _AESEncryptor, _AESDecryptor, _Delegator
Transparently encrypt the files when sending them to S3
Transparently decrypt the files when receiving them from S3
Add client side encryption tests
Add client side encryption compatibility tests

Conflicts:
	tests/integration/s3/test_client_side_encryption.py
Deactivate multipart upload when using client-side encryption (for now)