- Add validation for user-metadata keys.
- Ensure that options are passed to both single part PutObject and
Multipart upload when using the PutObjectContent higher level API.
Also:
- fix some constraints to allow ObjectContent to be sent across async
tasks.
- use new Size enum instead of Option for specifying object content
sizes
- add tests for part size calculation and validations