Patch for string encoding issues with `msgpack`

Fixes an issue that causes exploits to fail if the PAYLOAD option is the last option to get marshalled in an MSFRPC dictionary. The patch adjusts the string's encoding to match the internal default encoding used by Ruby. Hence, making `fetch()` succeed.
Add module for xxe
Correct author and references
Description should be present tense
Use rhost and rport, not local host and port
Use SSL by defailt
Whitespace retab, add rport 3780 as default
Commas in the author array
Cleanup various style issues

  * Unset default username and password
  * Register SSL as a DefaultOption instead of redefining it
  * Use the HttpClient mixin `ssl` instead of datastore.
  * Unless is better than if !
  * Try to store loot even if you can't cleanup the site ID.
Fix indentation
Land #2233, @bperry-r7's module for nexpose
[FixRM 6264] Check required vulnerable component before testing

tomcat_enum requires the admin web app package for it to work, but
by default many Apache Tomcat don't actually have this. The module
should check that first before trying usernames.

[FixRM 6264], see:
http://dev.metasploit.com/redmine/issues/6264

I also made changes to do_login in order to verify successful/bad
attempts more specific.
More idiomatic ruby with symbols and spaces
Land #2175, force string encoding for RPC

Metasploit takes great pains to ensure that all strings are encoded as
plain old US-ASCII. This PR enforces this conversion over RPC as well.

[FixRM #7888]
Add module for ZDI-13-178
Minor changes
Description update
Land #2236 - Cogent DataHub HTTP Server Buffer Overflow
Land #2235, @wchen-r7's patch for [SeeRM #6264]
testing