Add support for installing a module via scp from the test controller
the puppet cert --list --all output has changed
Merge pull request #257 from justinstoller/maint/master/changing_cert_list

(maint) the puppet cert --list --all output has changed
Move install_from_git to reusable location

This commit introduces an InstallUtils module (which will likely
become a class, eventually) to house the "install_from_git" method
that used to live in setup/git/01_TestSetup.rb.  By moving this method
to a location under 'lib' instead of 'setup', it can be used during
the custom setup lifecycle phases of individual projects.  Previously
it could only be used implicitly via, e.g., --yagr option, and only
if the --type was set to 'git'.
Add support for loading harness options from a file

This commit introduces a new command-line argument,
"--options-file".  If specified, this file will be
treated as a ruby file to be evaluated, and is
expected to return a hash.  The hash may contain
any of the "normal" options that the framework
supports.  It may also contain extra options
that are specific to the project that is being tested.

Any options passed to the harness on the command
line will be given precedence over the ones found
in the file.
Merge pull request #258 from cprice-puppet/refactor/master/make-git-install-more-accessible

Move install_from_git to reusable location
Merge pull request #259 from cprice-puppet/feature/master/allow-options-file

Add support for loading harness options from a file
(maint) Add a case statement for Debian

Debian OSes need only to run apt-get update; no need to modify
the repo cofiguration as with Ubuntu.
(#15699) Add methods for resolving and more adequately stubbing the forge host

This patch includes the new 'forge' method which looks up the host using the
following mechanisms:

* return the host with the 'forge' role assigned to it
* return the value of 'forge_host' in the CONFIG hash
* default to returning 'forge-acceptance.puppetlabs.lan'

This allows us multiple mechanisms to override the forge host, with a fall back
to the static 'forge-acceptance.puppetlabs.lan' host.

It also provides wrapper methodology for stubbing a host in general
`stub_hosts_on` and provides a forge specific wrapper `stub_forge_on`
so we can make our acceptance code more DRY.

To facilitate proper 'unstubbing' this patch also introduces the capability to
declare a teardown code block, that will always be called at the end of a test
case. This is a generic method, and can now be used by anyone for purposes
beyond the initial goal of this patch.
Merge pull request #260 from kbarber/ticket/master/15699-forge_role

(#15699) Add methods for resolving and more adequately stubbing the forge host
Add an option to preserve test instances.

Current test machines are snapshot based and don't require any sort
of deletion or preservation. This support is needed to allow debugging
and instance re-use for cloud-based acceptance testing
Merge pull request #256 from branan/scp_modules

Add support for installing a module via scp from the test controller
Add blimpy support for creating AWS instances for acceptance

This adds a new cleanup step. Cleanup is run if *any* step fails.
This ensure that ec2 instances are cleaned up even if another
setup, pre, or post step fails.
Merge pull request #262 from branan/blimpy_vmrun

Blimpy vmrun
Remove obsolete virsh support from vmrun
Merge pull request #263 from branan/remove_virsh_vmrun

Remove obsolete virsh support from vmrun
Add an option to apply_manifest_on that allows raising of test failures when manifests fail to apply.
Merge pull request #264 from praxxis/feature/apply_manifest_on_catch_failures

Add an option to apply_manifest_on that allows raising of test failures when manifests fail to apply
(maint) Improve ec2 support

Move ec2 configs to external file:
  config/image_templates/ec2.yaml

Populate ec2.yaml with 'production' PE AMIs.
Merge pull request #265 from djm68/extend_ec2_amis

(maint) Improve ec2 support