add launchctl support

adds `launchd` agent integration for formulae whose `.plist` definitions conform to the naming conventions of [brew-services](https://github.com/Homebrew/homebrew/blob/master/Library/Contributions/cmd/brew-services.rb)

example use:
```yaml
node_attributes:
  sprout:
    homebrew:
      formulae:
        - mysql
        - postgresql
      launchctl:
        mysql:      unload
        postgresql: load
```

Open to suggestions on both style and api.

`reload` is included despite its apparent redundancy because `brew services restart` will unload the service correctly if the `~/Library/LaunchAgents/#{package}.plist` exists, but can refuse to restart the service if the formula doesn't define `#startup_plist`.