[OC-11667] Don't overwrite the :default provider map if :default is passed as the platform

If you attempt to configure a `:default` platform provider mapping with:
```ruby
Chef::Platform.set(
  :provider => Chef::Provider::User::MyOrgsUser
  :resource => :user
  :platform => :default
)
```
The `:default` provider mapping will be erroneously overwritten, meaning [these defaults](https://github.com/opscode/chef/blob/master/lib/chef/platform/provider_mapping.rb#L363-387) will be overwritten to 
```ruby
{:default=>{:user=>Chef::Provider::User::MyOrgUser}}"
```
This will break common resources like `log` that depend on the default provider mapping being correct.  The error messaging is very misleading.

Not specifying `:default` as the platform is a nice way to work around this, however, it's hardly intuitive and the error messaging is very misleading.