- It's program, not command.
- Put logs in /var/log/{{name}}.out and .err
style
- move LaunchDaemons plist path computation to a method.
- don't run 'launchctl start' as an install action.
- improve spacing alignment of generated plist.
Add launchd unit and integration tests. Integration tests require superuser and will be skipped if not