(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
(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
(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.
(MAINT) removed yard param notation where no parameter was given
Merge pull request #511 from kevpl/yard_quickfix

(MAINT) removed yard param notation where no parameter was given
Merge pull request #494 from branan/skip_on_existing_node

(maint) Don't fail if master node is already in console
Merge pull request #401 from cyberious/ScpAutoExpand

QENG-1075 Auto expand cygpath when performing scp_to on windows
Merge pull request #460 from liamjbennett/powershell_wrapper

Adding a new powershell wrapper
Merge pull request #442 from leoc/add-debug-flag-to-apply-manifest-on

(MAINT) Add --debug option to `apply_manifest_on` helper
(QENG-1211) Added documentation & tests for retry_on

Before, the retry_command method was private by convention, because it didn't have
tests or any documentation.  Some of the QA team wanted to use this functionality,
so now we've added those supporting items to gain confidence in its regular use.
(QENG-1211) Fixed logical error in acceptable exit code argument for retry_on
(QENG-1211) Removing unnecessary description parameter from retry_on

Before, the description parameter was unused by retry_command, but there were usages of the
function that tried putting information into this. Removing it makes the usages more correct,
since it wasn't actually being used, and makes it conform better to our _on function's
parameter standard
(QENG-1211) fixed whitespace issues
Merge pull request #502 from kevpl/qeng1211_retry

(QENG-1211) Added documentation & tests for retry_on
(QENG-1400) Added support for host operations on a mac
(QENG-1400) Allowed yield blocks to get at actual command output, and returned unix style passwd user output

Mac's dscl output isn't formatted as the /etc/passwd expected by callers.  In order to go back to this, I changed the yield to use the
information after I formatted it.  However, this fails because the callers are relying on the parameter given to them having a .stdout
call and other things like it, so I've gone back to that old way, and allowed the unix formatting to still be used in the return
(QENG-1400) Removed comments and added in formatting feedback