Make Meterpreter Session Address Resolution Sane

If MSF can not match the visible IP address of a Meterpreter session
to an interface--it will attempt to find an IP address associated
with a default route and use it as the session's address.

This commit fixes the logic associated with this process. The old
logic only considers one IP address per Interface, even though an
Interface may have multiple addresses/masks associated with it.

This flaw led to situations where MSF would favor an IPv6 link-local
address over the IPv4 address associated with the default route,
solely because the IPv4 address was not the first value in the
addresses array.

[FixRM #7259]
Refactor load_session_info

All of this code is in sore need of some specs but I think this change
makes it a bit easier to understand what it is supposed to be doing.
Merge pull request #1 from jlee-r7/land-2897-meterpreter-interfaces

Refactor load_session_info
[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 Simple E-Document Arbitrary File Upload module
Use opts hash for adobe_pdf_embedded_exe

https://dev.metasploit.com/redmine/issues/8498
Use opts hash for glassfish_deployer

https://dev.metasploit.com/redmine/issues/8498
Use opts hash for h323_version

https://dev.metasploit.com/redmine/issues/8498
Clarify why contributors are listed as authors

Also adding @mcantoni to the list of authors. Sorry we missed you!

Dear contributors,

Even though we weren't able to use your code, we absolutely appreciate
that you wrote it. That's why we're listing you as authors. Thanks!!!

https://dev.metasploit.com/redmine/issues/6034
https://dev.metasploit.com/redmine/issues/5217
https://dev.metasploit.com/redmine/issues/6864
Add module for CVE-2012-0394
Delete privileged flag because is configuration dependant
Allow send_request_cgi to take care of the uri encoding
Added new module.  Abuses tomcat manager upload page.  Tested on tomcat 5.5.36, 6.0.37, 7.0.50, 8.0.0rc10
Clean exploit code
Land #2913, @bcoles Exploit for Simple E-Document
Add Matteo's email
Merge remote-tracking branch 'origin/pr/3' into feature/pjl
Fix missing colon in :caller_host symbol

Good catch, @jvazquez-r7!
Land #2920, @wvu-r7's author metadata update for printer aux modules
added SkyBlueCanvas CMS 1.1 r248-03 RCE