CouchDB compaction fix

This applies to the chef10 branch and solves two issues.

If you have a couchdb that's not on the server running chef itself, it's very unlikely that `couchdb_url` is in the Chef::Config -- and is defaulted to localhost.

This solution tries to avoid a split brain by just loading server.rb if it exists and then loading client.rb again so we don't confuse chef-client.

It also resolves another issue where couch itself will reject HTTP API requests where the content-type isn't specified, something we noticed on redhat packages for couch.