(QENG-841) don't run beaker package configuration on osx hosts

- beaker does not know how to install packages on osx, so we shouldn't
  try to
(QENG-251) Beaker should be able to run the PE installer in debug mode

- add verbose mode for linux/mac and win installs.
- add '-x' for bash frictionless installer
- fix issue with non-UTF-8 encoded characters generated in windows logs
Fix broken debian installs of FOSS puppet

Previously some versions of apt would not resolve the puppet-common package
dependency for versions other than the latest release. This pins the
puppet-common package to the same version as puppet to prevent these issues.
(QENG-645) Add `master-start-curl-retries` to host options.

Allows per-host modification of the number of curl retries to perform when
restarting puppet master.
Merge pull request #325 from anodelman/mac-support

(QENG-841) don't run beaker package configuration on osx hosts
Merge pull request #324 from anodelman/pe-in-debug

(QENG-251) Beaker should be able to run the PE installer in debug mode
Merge pull request #329 from waynr/feature/curl-retries

(MAINT) Feature/curl retries
Merge pull request #331 from justinstoller/fix_install_puppet

Fix broken debian installs of FOSS puppet
(QE-683) install_package_version

This commit adds 'install_package_version' method to the DSL helper utils and an
associated method that given package name as well as optional version string
that will be used to construct a package name that includes a specific version
string for installation on the SUT.

This currently only supports apt and yum based package managers, as I am no
familiar enough with other platforms. For non apt or yum based platforms, an
exception will be raised.

Signed-off-by: Wayne <wayne@puppetlabs.com>
(QE-725) Implements install_from_ezbake.

Adds a new module, Beaker::DSL::EZbake to extend the Beaker DSL with
functionality that should be useful across multiple JVM based projects,
particularly those that use TrapperKeeper and are packaged using ezbake.

Signed-off-by: Wayne <wayne@puppetlabs.com>
(QE-725) Update install_from_ezbake.

Updates to fix bugs in conditionally_clone and install_from_ezbake.

Don't want to add user to system from install_from_ezbake, that should be done
at a higher level or from within a preinst step if absolutely necessary. Also
shouldn't be making any puppet calls using Beaker before the Puppet master is
run for the first time using init scripts since this will lead to
/var/lib/puppet directories being owned by root. Bad.

Signed-off-by: Wayne <wayne@puppetlabs.com>
(QE-725) Adds spec tests for EZBakeUtils.

Signed-off-by: Wayne <wayne@puppetlabs.com>
(QE-725) Minor bugfix and documentation addition.

* Document `ezbake_stage` method.
* Fix directory creation bug in `conditionally_clone` method.

Signed-off-by: Wayne <wayne@puppetlabs.com>
(QE-683) Add package_version option to install_package.

Makes more sense to make this optional behavior in `install_package` than to
implement new method.

Signed-off-by: Wayne <wayne@puppetlabs.com>
(QE-725) Minor code cleanup and EZBakeUtils fix.

* Fixes defaultsdir argument passed to make in `install_from_ezbake` for debian
  systems.
* Adds `--force-yes` to apt-get calls when installing packages on debian.
* Minor code cleanup when interpreting package and version information from
  `ezbake_config`

Signed-off-by: Wayne <wayne@puppetlabs.com>
(QE-725) Improve install_from_ezbake

Need to be able to pass in arbitrary key-value pairs to add to environment in
which `make` is called on the given host in install_from_ezbake. If the hash is
empty, then don't prepend the `env` call to make.

Signed-off-by: Wayne <wayne@puppetlabs.com>