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.
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
[FixRM:#8127] - Remove junk code that checks ARTIFACTS again

ARTIFACTS uses OptPath, which already checks the path. We don't need
to do this again.
[FixRM:#8129] - Fix undefined method error in enum_services.rb

srv_conf may not have the 'Startup' key because it's only assigned
in service_info() when srvstart is 4, therefore it's possible to
cause an undefined method 'downcase' error.
[FixRM:#8134] - Handle registry_getvaldata return value properly

registry_getvaldata can return nil, can't always assume it's
gonna throw a string.
[SeeRM:#8135] - Be able to show where store_loot saves a file

If you don't print where store_loot saves the file, it can be a
pain in the butt to find it sometimes.
Use execute_shellcode for novell_client_nwfs.rb
Use execute_shellcode for novell_client_nicm.rb
Add support for PLESK on php_cgi_arg_injection
Land #2074 - Add support for PLESK on php_cgi_arg_injection
Make heap grep optional
Fix target ID
Forgot to change var 'filename'
Fixed a "NameError uninitialized constant" error.

On startup of msfconsole, the following error occurred:

  modules/exploits/freebsd/local/mmap.rb: NameError uninitialized constant Msf::Post::Common

The addition of a corresponding 'require' line removed that error.

Signed-off-by: Thorsten Fischer <thorsten@froschi.org>
Land #2076, missing require in exploit/freebsd/mmap

[Closes #2076]
Land #2045, @wchen-r7's fix for memory_grep module
Land #2069, @wchen-r7's patch to print info when using store_loot
Land #2062, @wchen-r7's fix to avoid redundant check
Land #2068, @wchen-r7's fix to initialize variables on windows_autologin module