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
Add VPC support to the aws_sdk hypervisor

This adds support for launching instances into an AWS VPC.

This adds two new configuration options:

- subnet_id
- vpc_id

That can be added to the HOSTS section of your beaker configuration. These
options are both mandatory for this feature to work.

The code has been basically modified to deal with the VPC object now,
if those configuration items are provided.

Signed-off-by: Ken Barber <ken@bob.sh>
(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
(QENG-1192) Use hostname specified by hypervisor everywhere

reviously, we would call out to `hostname` on the SUT when deploying
PE. This may give us a name that isn't resolvable our routable by
every host in the configuration. We should instead just use whatever
the hypervisor tells us is the correct way to connect to the host.

This also sneaks in a small change to the vmpooler hypervisor, to make
it return FQDNs. Using these FQDNs is really what this is all about.
(QENG-779) backoff from pooler reqests when retrying

- add fibonacci backoffs to vpooler instance requests
(QENG-1354) Added low-hanging rspec tests to improve coverage

This was just a task to get me a little more comfortable with the codebase,
and add a little more testing to plug some small gaps that we had in coverage
(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
(QENG-1374) Added specs for the SshConnection close function
(QENG-1391) Use TLSv1 over SSLv3 for curl against PE

Prior to this commit, beaker was exclusively using SSLv3 against Puppet
Enterprise. Due to the recent information with POODLE, this commit updates
beaker to use TLS over SSL since we are disabling the use
of SSLv3.
Merge pull request #446 from branan/use_vmpooler_fqdn

(QENG-1192) Use hostname specified by hypervisor everywhere.