Add spec for elf mips* and exe-only formats

Also a rudimentary test for win32_rwx_exec
Clean up exe spec a bit
Add more supported formats to exe generation

- Already supported, just added calls to the the right methods in
  the .to_executable_fmt method:
  - Linux armle, mipsle, and mipsbe
  - Mac arm, ppc

- makes the two (!?) copies of block_api for windows match more closely
  with the source used elsewhere. This is still needs to be refactored
  to get rid of the duplication.

- Get rid of some of the logic in msfvenom duplicated from Util::EXE
Refactor msfvenom into a class

Also adds some minimal testing... which is super slow because it doesn't
cache the framework object across tests.

Conflicts:
	msfvenom

Hopefully picked up all the relevant fixes from #2027
Fix multiple issues with memory_grep

This fixes the following:
[FixRM:#8118] - Allows the module to be able to enumerate from
multiple processes with the same name.

[FixRM:#8120] - Allows the module to be able to actually read data
from the heap.
More msfvenom refactoring

* Make @framework into a caching method instead

* Allow instantiating with streams for where payloads and comments
  should go. This allows us to capture std{out,err} when running specs

* Specs are still woefully under-representative

* Get rid of all the calls to exit
Add spec for #dump_nops
Merge branch 'master' of https://github.com/rapid7/metasploit-framework
Merge branch 'master' of https://github.com/rapid7/metasploit-framework
Add has_pid? function

[SeeRM:#8123] - Add commonly used function has_pid?. Related to
redmine issue 8123.
These modules should check PID before using it
Merge branch 'master' of https://github.com/rapid7/metasploit-framework
Merge branch 'master' of https://github.com/rapid7/metasploit-framework
post/local_admin_search_enum~Regex fails,module 2
If the regex fails then the entire moudle would too
netenum~Improved help screen & check user input
scripts/meterpreter/netenum.rb ~ Improved help screen & check user input
Made msftidy happy
packetrecorder~Added UAC check when listing inf
Added UAC check when listing network interfaces
Added error handlering with listing
Panda_2007 - Added help screen by default
HP PML Driver ~ Added help screen by default
process_memdump ~ add help page as default
[FixRM:#8126] -  Use functions from Msf::Post::File

Some functions already exist in Msf::Post::File, should use them.