Use homebrew for default package provider on OS X

:ice_cream: 

Via [Chef RFC 016](https://github.com/opscode/chef-rfc/blob/master/rfc016-homebrew-osx-package-provider.md), fixes issue #1709, adding the `homebrew_package` resource with the `homebrew` provider, and setting it as the default for Mac OS X platforms (`mac_os_x`, `mac_os_x_server`). This will still require that homebrew is installed on the system somehow, but doesn't require use of the cookbook if users choose to install via some other method (pre-built images, for example).

Example of this in action: https://gist.github.com/jtimberman/1f0a6fd434a6ecef95da

I think what you can do here to avoid opening up a new context is to move the common stubs to a before block:

```
allow(provider).to receive(:current_installed_version).and_return(nil)
allow(provider).to receive(:candidate_version).and_return('24.3')
```

then retain this line which overrides the stub of current_installed_version and avoid creating additional nesting contexts for when current_installed_version is nil vs when current_installed_version is set.