Merge branch 'release/1.1.0' into develop
Rename the encrypt class parameter

Change the `encrypt` parameter to `encrypt_key` in both the `serf` and
`serf::params` to match the instance variable in the template.
Get rid of duplicitous `protocol_version`

Make the `protocol` class parameter work by actually responding to it in the
template, instead of its doppleganger `protocol_version` which can't be set.
Merge branch 'fix-protocol-version' into multiple-fixes
Make --show_diff useful with pretty JSON
Merge branch 'pretty-json' into multiple-fixes
Fix service restart on installation

The ordering of the `serf::install` and `serf::config` classes is unnecessary,
but `self::install` must independently notify `self::service` in order to
affect a restart.
Merge branch 'install-notify' into multiple-fixes
Array syntax not available in LHS of notification
Merge branch 'install-notify' into multiple-fixes
Assert the new reality
Merge branch 'install-notify' into multiple-fixes
Translate facter architectures

HashiCorp's architecture naming is not just different from the facter-reported
value for x86_64, but also for every other architecture for which serf is
pre-built.
Merge branch 'fix-architectures' into multiple-fixes
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