Abstract out the service config file

Support both upstart and initscript style services and select based on
operating system.

This change also removes some effectively hard-coded values related to the
service resource that are specified in serf::params. service_hasrestart and
service_hasstatus were never used anywhere. service_name and service_enable
have no mechanism for overriding them or selecting different values based on
node facts. service_ensure really ought to be 'running' rather than 'true' and
is also similarly immutable.
Merge branch 'support-initscript-service' into multiple-fixes
Fix a typo, and add a notify
Refactor the installer if-else ladder

The module supplies two install methods that have been branches of an if-else
ladder in the serf::install class. Break each of these cases into its own
lower-level class that is then invoked according to the selected method. This
also allows for the module user to supply arbitrary install classes from
outside of the module, for example to build from source.
Merge branch 'support-initscript-service' into multiple-fixes
Merge branch 'simplify-installers' into multiple-fixes

Conflicts:
	manifests/install.pp