Adding a utility method for adding host entries

As much as this is a infrastructure-smell in the linux world, adding
hosts entries is still all to common in the windows world. This method
allows host entries to be configured to meet that need.

It can also be used when developing with vagrant to make sure that the
master and agent vms can see each other properly.
(MAINT) Add --debug option to `apply_manifest_on` helper

Before every 'puppet apply' command is executed with --verbose.
Now you can pass `debug: true`, which executes 'puppet apply' with the
--debug flag.
QENG-1075 Auto expand cygpath when performing scp_to

Modified to have match anything on the to_path `cygpath

Added yard docs to expanding new behavior with cygpath
Merge branch 'master' into host_entry_method
switching method to use powershell wrapper
removing unused powershell command
renaming method to add_system32_hosts_entry
(gh-472) refactoring method so that is only supports windows and will raise error on other platforms
(gh-477) enables root for non-root users on ec2 hypervisor

- root login is not possible on ubuntu-amis
- provision is not possible without root

This Patch enables root when the host['user'] differs from "root"
(gh-477) enables root for non-root users on ec2 hypervisor

- fixes codestyle
- fixes tests
(maint) Don't fail if master node is already in console
(QENG-1257) do_scp_to raises IOError if file doesn't exist

Before, if the file doesn't exist, you would get a Result object back that had a nil exit_code.  Talking with some people, we decided that if you get a Result object back, it implies that the command was run, which doesn't happen here.  Now we raise an error, which is more indicative of an error in beaker setup, which is what's actually going on here.
(QENG-1257) updated yard doc for do_scp_to to make parameters consistently formatted
(MAINT) Add metadata.json as part of determining module root
(MAINT) improve Modulefile/metadata.json logging msg
(MAINT) fix spec stubs for Modulefile/metadata.json detection
(gh-469) Adding a new wrapper for the powershell.exe command

There are several places in the codebase where this will be used as
powershell is the most common scipting environment on windows.

The aim of this new addtion is to wrap a few of the complexities of
executing powershell commands, such as discovering the powershell.exe
location and passing the correct command line paramaters.
Merge pull request #382 from justinstoller/metadataJsonSupport

Metadata json support
Merge pull request #493 from kevpl/qeng1257_scpto_addioerror

QENG-1257 scp_to Added IOError
Bump aws-sdk to v1.57.0 for eu-central-1 support

Prior to this commit, we pinned aws-sdk to v1.42.0. Today, AWS brought
the eu-central-1 datacenter online. When Beaker attempts to run its
zombie killer script(s), the AWS SDK doesn't know how to handle this
datacenter. To combat the issue, AWS released v1.57.0 of the aws-sdk gem
today to coincide with this datacenter being brought online.

This commit modifies Beaker's Gemspec to use aws-sdk v1.57.0 so that it
can properly use the eu-central-1 datacenter.