Add the getenv command which pulls env vars from the victim

This command will allow the attacker to grab environment variables from the
target, if they exist. Calling this function allows for one or more values
to be passed in, which should match the name of the variable required. If
the variable is found, it is returned. If it is not found, the variable
is not returned (ie. it's not present in the resulting hash).

Note 1: POSIX environment vars are case-senstive, whereas Windows is not.
Note 2: POSIX doesn't seem to cough up user environment vars, it only returns
system vars. I'm not sure why this is, but it could be because of the way
we do linking on POSIX.
Add support for Silverlight

Add support for Silverlight exploitation. [SeeRM #8705]
Add getenv support to python meterpreter

This change adds support for `getenv` to python meterpreter. Nothing too
complex going on here. I tidied up the definitions of the TLVs as well
so that they look nice.
Add PHP side for meterpreter getenv
Merge branch 'egypt/feature/getenv-php' into getenv_cmd
Land #2689, getenv
Fix improper use of expand_path

I don't even.
Fix extraneous use of which and cmdsub

I don't even.
Anchor the scheme
Be more specific

Perl!
Land #2695, @wchen-r7's support to detect silverlight
Land #2699, @wvu fix for Linux download_exec post module