Don't change content type in Chef::REST if one was provided

To support IPv6 literals in `chef_server_uri` without needing to depend on a patched version of rest-client, individual file uploads for cookbooks were converted to use Chef::REST. This worked fine with chef-zero in testing, but not with real S3 or bookshelf. Root cause was that Chef::REST was overriding the provided `Content-Type` header, which is part of the request signature for pre-signed URLs.

Modify `Chef::REST` so that it does not override any user-provided `Content-Type` header.