[openstack|storage] allow headers to be specified for object manifest

Allows additional headers to be set, as well as overriding the default `X-Object-Manifest` header.

These are the same changes made to `Storage::Rackspace` in #1800 and #1855, and replaces PR #1802.

Note: Someone with a `Storage::OpenStack` compatible account needs to verify these tests pass.