(QENG-695) beaker workflow with pry

- add pry gem to development environment
(QENG-40) remove expandpath from file loading in beaker require blocks

- just use an expected path in requires
Add option to enable and set package manager proxy url

With this feature you can set the proxy url for the package manager.
Currently supports Yum and Apt package managers.
Merge pull request #290 from anodelman/remove-expand-path

(QENG-40) remove expandpath from file loading in beaker require blocks
Merge pull request #285 from anodelman/pry-support

(QENG-695) beaker workflow with pry
Support custom hypervisors
Merge pull request #247 from JHaals/hypervisor

Support custom hypervisors
Removing unnecessary `razor` wrapper function

The `razor` function was unnecessarily defined in the
wrapper, which was overriding a helper definition.
Merge pull request #294 from smcclellan/remove-unneeded-razor-method

Removing unnecessary `razor` wrapper function
Merge pull request #273 from electrical/feature/proxy

Add option to enable and set package manager proxy url
(QENG-713) add 'puppet_tmpdir' method

Add a 'puppet_tmpdir' method in Unix::File that creates temporary
directories which are owned by the puppet user.
add test case and docs for 'puppet_tmpdir' method
use DSL to access --configprint value
Added curl-retries key to host file
Adds create_tmpdir_on DSL method.

Signed-off-by: Wayne <wayne@puppetlabs.com>
No, this isn't Java.
Update to create_tmpdir_for_user, add spectests

This commit as spec tests which include several additions to spec/mocks.rb to
support the use of `host.tmpdir` and `execute` when using FakeHost. In support
of these is the FakeCommand which works around the fact that these FakeHost
commands don't have access to the same objects as the context in which
FakeHost.exec is used.

Also removes test for Unix::Host.puppet_tmpdir

Signed-off-by: Wayne <wayne@puppetlabs.com>
(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>