Add homedir to plist search path to enable agents provided by the user

I tried to launch a custom per-user agent as the current user with the launchd service provider but failed. My plist was located at ```~/Library/LaunchAgents/my.custom.service.plist```. The cause was that the home dir is not part of the pattern to find the plist file. I also added some tests for the start method of the service provider.
@dgoodlad @johndbritton I figure out if the current plist file points to a LaunchAgent and if it is a LaunchAgent it should run as the boxen user instead of root. According to [the docs](https://developer.apple.com/library/mac/documentation/macosx/conceptual/bpsystemstartup/chapters/CreatingLaunchdJobs.html) Launch Agents can be place in `/System/Library/LaunchAgents`, `/Library/LaunchAgents` and `/Users/<user>/Library/LaunchAgents` see also [the launch dirs](https://github.com/skrings/puppet-boxen/blob/provider_launchd_dirs/lib/puppet/provider/service/ghlaunchd.rb#L22). So from my point of view the check is if the plist file includes `/Library/LaunchAgents` is valid for all three possible paths.

We could add a method to make that explizit and a test to document it:
```
def launch_agent?
  plist_file.include?("/Library/LaunchAgents")
end
```