Add end point for supporting template center avatar upload
The bucket client was assuming that the object keys are always inferred from workspace id. As a result, it's hard to use the client for objects which is not associated with a workspace, such as avatar. This has been modified such that the callers of the trait are responsible for constructing the correct object key.
Instead of storing the content type via a separate metadata object, the content type was specified while uploading the blob to s3.
Changes: