`brew` command now ran as user owning executable

This is a fix for https://github.com/opscode/chef/issues/1934.  Homebrew_owner now tries to run homebrew as the user who owns the `brew` executable, or an optional homebrew_package resource attribute.

If `brew` isn't at the default location (/usr/local/bin) we search for it with `which`.  If it cannot be found and the homebrew_package resource is missing, we raise an error.
I don't know if this needs to be a hard error. The old error text was:

```ruby
'The homebrew owner is not specified and the current user is \"root\"' +
'Homebrew does not support root installs, please specify the homebrew' +
'owner by setting the attribute `node[\'homebrew\'][\'owner\']`.'
```

I'd have to look at the homebrew cookbook code to see, but I think the intent is that we only wanted to allow root homebrew installs if the user explicitly asks for it. Since the old logic was to use a node attribute or the user running the `chef-client` process, it made sense to warn or error in the case that no user was specified and `chef-client` was running as root. Now, though, we're just using homebrew's opt-in mechanism for root installs (homebrew executable owned by root), so we're giving you the same abilities as homebrew itself does if we allow root installs. The only way I can see this being problematic is if the homebrew cookbook defaults to root installs, but I would consider that a bug in the cookbook.