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
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.
Modify clipboard dump to support new format from Meterpreter
Support service_control and new status field in query

This code adds support for the new service_control feature in meterpreter
and also supports the status field that comes from the service_query function.
Merge branch 'upstream/master' into stop_abusing_expand_path

Conflicts:
	lib/msf/core/post/windows/shadowcopy.rb
	modules/exploits/windows/local/bypassuac.rb
	modules/post/windows/gather/wmic_command.rb
	modules/post/windows/manage/persistence.rb
Rescue InvalidWordCount error

This is a cherry-pick of commit ea86da2 from PR #2656
Recreate the intent of cfebdae from @parzamendi-r7

The idea was to rescue on a NoReply instead of just fail, and was part
of a fix in #2656.

[SeeRM #8730]
Land #2782, fix expand_path abuse
Land #2889, WMI support

This depends on rapid7/meterpreter#69 to actually be useful.
Land #3061, enhance clipboard dump

This depends on rapid7/meterpreter#75 to function
Land #3085, service_control support

This depends on rapid7/meterpreter#77 to function
Refresh binaries for Meterpreter

This includes:

rapid7/meterpreter#69
rapid7/meterpreter#70
rapid7/meterpreter#75
rapid7/meterpreter#77
rapid7/meterpreter#78

As of commit: 45bcbd13a1e0215647f6a61631652b686931bba8
Land #3122, lots of Meterpreter updates

This lands the binaries built from Meterpreter as of:

rapid7/meterpreter#80 , also known as

commit 5addac75741fadfff35f4f7839cee6fd69705455

as well as the functional changes in:

rapid7/metasploit-framework#2782
rapid7/metasploit-framework#2889
rapid7/metasploit-framework#3061
rapid7/metasploit-framework#3085
Land #3089, InvalidWordCount fix for smb_login

[FixRM #8730]