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.
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
(QENG-1126) Allow setting IS_PE to the negative

Previously we had an environment variable "IS_PE" or "BEAKER_IS_PE" to
set whether or not we were using PE. Since then PE has become the
default. Module authors would like a similarly simple way via the ENV
to override the default and set the installation type as "FOSS".
The convention that has arisen is to use the negative in the IS_PE
environment variable (e.g. "IS_PE=no"). This brings that convention
into Beaker proper.

Original work done by @cyberious (Travis Fields).
(MAINT) Fix bug connecting to windows vagrant host

When running multiple hosts in vagrant with an linux master and windows
agent it seems that vagrant has difficulty connecting to box when the
ssh_config file contains 127.0.0.1 for the host. This change fixes the
issue by replacing it with the host ip if it has been specified in the
nodeset.

This might need a little more manual testing.
(QENG-846) Centralized dated log path generation, and added options for specific log paths

Before, the latest link was hard to use since it jumped around, and you couldn't really get at
the timestamped log path itself because it was hidden in the log_path function.  This work
separates out the timestamped path generation into a static method so that it can be used
anywhere, and adds the current usages of it to the global options, so that they can be used
for other purposes, such as the use case for this issue: copying other files to this location
Merge pull request #515 from justinstoller/QENG-1126

(QENG-1126) Allow setting IS_PE to the negative
Merge pull request #421 from liamjbennett/vagrant_ssh_config

Fix bug connecting to windows vagrant host
(QENG-1074) Override mac and win url for `install_puppet`

Previously we always downloaded windows or osx installation packages
from http://downloads.puppetlabs.com.

This allows the specifying of special urls for windows and osx to
`Beaker::DSL::InstallHelpers#install_puppet`.
Merge pull request #522 from justinstoller/allow_custom_download_urls

QENG-1074 Add options for mac and win download from alternative sources for install_puppet
(QENG-1340) Add GitHub PR refspec to install_from_git

 - When testing out Jenkins job configuration tweaks that must coincide with source
   changes, it can be useful to have Beaker be aware of the GitHub refspec.  This
   allows SHA references to GitHub commits / PRs that have not yet been merged,
   without having to jump through a number of additional job configurations to gain
   access to the appropriate commits.
 - Note that this does have performance implications, as performing a fetch will take
   longer on the first time.
(QENG-1340) updated spec tests to match fix for this issue
(QENG-688) made default log_level info rather than verbose
(QENG-526) A friendly way for Beaker to set environment...

... variables for SUTs

- add support for option :host_env, it can be set in the host
  configuration file
- requires updating each host so that sshd allows remotely setting
  environment variables
- add host.add_env_var(key,val) and host.delete_env_var(key,val) for
  using in test writing
(QENG-1476) drop blimpy hypervisor from beaker

- replaced with aws_sdk
Merge branch 'master' into host_entry_method
fixing tests for add_system32_hosts_entry method