[FixRM #8749] - Make spawn_meterpreter respect lport/lhost options

[FixRM #8749] Basically the spawn_meterpreter script doesn't
actually allow the user to set their own LHOST/LPORT datastore
options, because they come from the session object, not from the
active module or the framework object.

The fix is to allow the user to config them from framework. But
if they forget to do this (because naturally people probably
assume that active module datastore options are the same as the
ones set in framework), then for LHOST, we default whatever we get
from Rex::Socket.source_address. As for LPORT, we'll pick a one
that's not used by any of the sessions.
Add module for CVE-2012-0394
Delete privileged flag because is configuration dependant
Allow send_request_cgi to take care of the uri encoding
Should really call source_address without args
Add an vprint message on check
Explain why we flag the vuln as "Appears" instead of vulnerable
Land #2921 - Apache Struts Developer Mode OGNL Execution
Remove EOL spaces
Land #2912, session upgrade fix

[FixRM #8749]