Consolidate paths of common binaries on FreeBSD, NetBSD and OpenBSD
Add a copy_from body to copy a local file if it is different from the existing
copy and preserve file permissions on the local copy.
Merge pull request #300 from skreuzer/perms_dcp

Add a perms_dcp() copy_from body
Merge pull request #299 from skreuzer/consolidate

Consolidate paths of common binaries on FreeBSD, NetBSD and OpenBSD
Added systemd service-handling to 3.5

- Added a custom service_method to select service bundles for
  distributions which don't use the standard Sys-V init scripts,
  currently only systemd.
Added extra systemd logic to 3.6

- Backported some changes made/discovered while implementing the 3.6
  version to 3.5, including improved logic (actually used the
  can_{stop|start}_service classes) and support for a custom
  service/call, e.g. isolate, try-restart, et al.
- Uses the ifvarclass to make the commands section a little cleaner
- Uses the 'kept_successful_command' on all explicit systemd actions
Reducing number of external commands run
Fixing variable handling
Backporting changes from 3.6 to 3.5
Added in kept_successful_command to all commands
Altered some of the 3.6 comments

- Changed description and author fields to use the doxygen-like
  comments.
Added in loaded state for systemd services