Mdm::ExploitAttempt#module_class

MSP-2969

Add Mdm::ExploitAttempt#module_class association and its inverse
Mdm::Module::Class#exploit_attempts.  This deprecates
Mdm::ExploitAttempt#module, which has ActiveSupport::Deprecation
warnings now.
Deprecate Mdm::ExploitAttempt#port and #proto

MSP-9283

Mdm::ExploitAttempt#service already holds the Mdm::Service#port and
Mdm::Service#proto, so there's no need for the #port and #proto on
Mdm::ExploitAttempt.  Mark them as deprecated for now and later remove
them.
Fix YARD

MSP-9285

rake yard was hanging due to the stderr pipe buffer being full while
stdout was trying to be read from graphviz.  The pipe was full due to
postscript font name warnings on OS X Mavericks, which can be fixed
locally using these instructions:
https://github.com/voormedia/rails-erd/issues/61#issuecomment-30277704.
Committed changes fix YARD warnings and undocumented objects.
architecture and platform association for Mdm::Session

MSP-9285

Mdm::Session#platform is removed as a String attribute in favor of
Mdm::Session#architecture and Mdm::Session#platform associations to
Mdm::Architecture and Mdm::Platform, respectively.  The associations are
validated for presence so that new sessions require them, but the
foreign key columns are null: true to support legacy sessions.