(QENG-758) add ability to select a group a beaker hosts based upon...

...a set of properties

- a shortcut means of selecting a sub group of hosts to run commands on
(MAINT) Whitespace for readability
(QENG-894) Use puppet to restart puppet

This way we don't have to detect which init system is being used. Since this
is currently only used for with_puppet_running_on it should always have puppet
available.
(maint) Improve `InstallUtils#install_puppet()`

Use `#check_for_command` instead of `#check_for_package` where appropriate
in `#install_puppet`

Previously there was no `Host#check_for_command` method, but
`Host#check_for_package` did a `which` (it effectively was checking for
the command). Now that we've separated out that behavior we need to use
the ones we mean in `InstallUtils#install_puppet()`. This is important
because when we fall back to a gem install of Puppet we ensure there is
a command `gem` available from (often) the package `rubygems`.
Merge pull request #350 from anodelman/utf-8-encoding

(QENG-912) Beaker 1.14 breaks PE Puppet Acceptance
Merge pull request #348 from pcarlisle/qeng-894-systemd-with-puppet-running

(QENG-894) Fix with_puppet_running_on for systemd
(GEM) create beaker 1.15.0 gem
Merge pull request #349 from justinstoller/maint/master/do-the-right-thing

(maint) Use `#check_for_command` instead of `#check_for_package`
Merge pull request #351 from anodelman/make-gem

(GEM) create beaker 1.15.0 gem
(HISTORY) generate history file for beaker 1.15.0
Merge pull request #353 from anodelman/make-gem

(HISTORY) generate history file for beaker 1.15.0
(QENG-849) beaker should maintain a history file that provides...

...information per gem release

- generate a markdown history file from beaker git log
(QENG-6) Beaker DSL `scp_*` commands print the options hash as if...

... it were executed on the command line
- simply remove the option hash from the debug line, it isn't
  appropriate there.
Merge pull request #338 from anodelman/add-history

(QENG-849) beaker should maintain a history file that provides...
Merge pull request #354 from anodelman/scp-repair

(QENG-6) Beaker DSL `scp_*` commands print the options hash as if...
Merge pull request #356 from anodelman/utf-8-encoding

(QENG-912) Beaker 1.14 breaks PE Puppet Acceptance
(QENG-923) Ensure @codename is set if platform string has codename

Beaker 1.14.0 and up has a change to Beaker::Platform which ensures that
@version and @codename is set if the platform string contains the
version number, and that @version is set if platform string contains the
codename, but it fails to set the @codename in this later case.

Puppet currently has debian/ubuntu configs checked (used in ci) which
use platform strings of the form debian-wheezy-x86_64. We could change
these, but it looks like the intention of the Beaker::Platform object is
to provide @version and @codename (where codenames are used).

This patch ensures that @codename is set along with @version in these
cases.
(QENG-924) Fix Beaker::DSL::EZBakeUtils.conditionally_clone

Fetch from origin then checkout the origin HEAD.

Signed-off-by: Wayne <wayne@puppetlabs.com>
Merge pull request #357 from jpartlow/issue/master/qeng-923-ensure-platform-codename

(QENG-923) Ensure @codename is set if platform string has codename
Merge pull request #358 from waynr/bugfix/ezbake-utils

(QENG-924) Fix Beaker::DSL::EZBakeUtils.conditionally_clone