refactor copy_root_module_to copy_module_to, also changed the behavior of puppet_module_install_on to use the PMT tool instead of copying the whole file to it
Fixed test cases and bug with copy_module_to
add alias to keep current functionality
Use the DOCKER_HOST environment when present for ssh to docker server

Honor DOCKER_HOST envvar, used with boot2docker
Fix issue with run_task and invalid or undefined methods
Revert the stderr out instead of stdout for not success
Fix issue with relver not defined in msi installer
(QENG-716) 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>
(QENG-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.

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>
(QENG-725) Adds spec tests for EZBakeUtils.

Signed-off-by: Wayne <wayne@puppetlabs.com>
(QENG-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>
(QENG-716) 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>
(QENG-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>
(QENG-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>
(QENG-725) Add attributes to `Beaker::Platform`

* Add attributes to `Beaker::Platform` and use those in
  `Beaker::Platform.with_numeric_version` and
  `Beaker::Platform.with_codename_version`.
* Add spec tests to confirm that `Beaker::Platform.codename` is nil when a given
  platform does not have version codenames and to verify behavior of
  `Beaker::Platform.to_array`
* Update `Beaker::DSL::EZBakeUtils` to make use of new
  `Beaker::Platform.to_array` method.
* Update `spec/beaker/dsl/ezbake_utils.rb` to use `Beaker::Platform` object.

Signed-off-by: Wayne <wayne@puppetlabs.com>
(QENG-725) Add `ezbake_tools_available?`

Add `Beaker::DSL::EZBakeUtils.ezbake_tools_available?` to ensure that both the development system and the
SUT have the required software necessary for this stuff to work correctly.

Also add spec tests for this new method and update existing method rspec tests to
verify that they actually use the new method where appropriate.

Signed-off-by: Wayne <wayne@puppetlabs.com>
(QENG-725) `install_from_ezbake` check for unsupported platforms

Signed-off-by: Wayne <wayne@puppetlabs.com>
(QENG-842) Always wait for puppetmaster to be ready when bouncing

Previously, we would only wait for the puppetmaster to be started if a
host config file explicitly requested it. Our init scripts actually
require this waiting pretty much across the board now, so trying to
only do this when it's needed is silly. And even when it's not needed
we only curl once - it's not a ton of overhead.
(maint) Remove default value of service-wait since it is now unused.
Merge pull request #323 from branan/qeng_842

(QENG-842) Always wait for puppetmaster to be ready when bouncing