[aws|put_object] guard against non-us_ascii x-amz-meta-* values

This is a follow up to the discussion in #2942.

As http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html states

>  Each name, value pair must conform to US-ASCII when using REST.

This constraint is especially hard get, since sending non-us_ascii characters in a `x-amz-meta-*` header value simply results in a signing error.