ObjectStore Content-type and extra headers

We need to upload objects with defined content-types, rather than relying on `_guess_content_type()`. The first commit checks to see if the content-type has already been set before guessing it.

In addition, we'd like to add extra headers such as `Access-Control-Allow-Origin:`. The second commit allows the inclusion of an extra parameter to the Create() `$params` array, called `extra_headers`, where arbitrary headers can be added to the `PUT` call.