PSEXEC Refactor

Move peer into mixin
PSEXEC should use the psexec mixin
Add disconnect option to psexec

Allow the module to prevent the mixin from ending the SMB session.
Add getenvs, update getenv, change extract_path use

Stacks of modules were using `extract_path` where it wasn't really semantically correct
because this was the only way to expand environment variables. This commit fixes that
up a bit.

Also, I changed the existing `getenv` function in `stdapi` to `getenvs`, and had it
support the splat operator. I added a `getenv` function which is used just for a
single variable and uses `getenvs` behind the scenes.

The meterpreter console `getenv` command now uses `getenvs`
Fix download_exec to better handle spaces

It was just wrong. Now it actually works.
Merge branch 'adjust_getenv_api' into stop_abusing_expand_path
Resolve require order
First pass of WMI support

Close but more to do.
Final tweaks for WMI support
Add error message support

This commit enables returning of error messages based on the HRESULT.
They still aren't nice, but they're better than nothing.
Updates to support OWA 2013 and some syntax changes
Removed bad sets on datastore['USERNAME'] and datastore['PASSWORD']
Copy original sleep
Set SSL to default to true and removed SSL from register_options. Updated Author to include full name
Updated to use get_cookie
Corrected uri_encode
Added a check for vars_get in msftidy
Added a check for Set-Cookie header in msftidy
make set-cookie header check case insensitive
Modify clipboard dump to support new format from Meterpreter
Re-use CreateService Handle

and remove unused variable