Refactor such that metadata and etag are combined to a single argument `srcInfo`. This is a precursor change for #5544 making it easier for us to provide encryption/decryption functions.
* Unify gateway and object layer. Bring bucket policies into object layer.
Fixes #5350