Don't try to be too helpful

John cares not one whit how many colons are in a hash line, only that
there are enough for the format (at least 2 for regular /etc/passwd, at
least 3 for NTLM, etc). So there is no simple way to programmatically
determine whether a password had a colon or there was just an extra on
the end of the original hash line.

[MSP-9778]
See #2515
Refactor jtr_linux copy pasta

Move it to a nifty method
Micro optimizations for jtr_linux
More refactor on jtr_linux

Reducing complexity in `run` makes modules easier to read
Add password colletion post module for Firefox shells.
Fix wrong DisclosureDate.
Add base64 to prevent potential encoding issues.
Fix little bug when using msfencode and exe-only
When arch is not defined, arch is null so it crashs.
It should be 'x86' by default
Land #3253, Fix to exe-only format

Lands pull request to fix nil issue with
the to_winpe_only method call in Msf::Util::EXE
Land #3228, JtR colon Seperation
Land #3246 - Firefox Gather Passwords from Privileged Javascript Shell
Adds history collection module for FF privileged JS.
Land #3255 - Adds history collection module for FF privileged JS
Update to openssl_heartbleed to deal with SMTP RFC

Added CR character in order to have the commands match SMTP RFC 5321 2.3.8 for line termination. Some SMTP services, such as the Symantec Mail Gateway, require strict compliance or the connection will be dropped with the response  '550 esmtp: protocol deviation'

Reference:
   http://www.symantec.com/business/support/index?page=content&id=TECH96829
   http://tools.ietf.org/html/rfc5321#section-2.3.8
Errant whitespace
Land #3257, errant whitespace fix
Land #3256, SMTP RFC compliance for Heartbleed
Merge remote-tracking branch 'rapid7/master'