Add metasploit-model as a direct dependency

MSP-10905

Metasploit::Model constants need to be accessible without the db group
installed.
Require gems

MSP-10905
Prevent circular dependency

MSP-10905

Use Metasploit::Framework::Version directly instead of
Msf::Framework to prevent circular dependency when starting msfconsole.
Add missing require

MSP-10905
Parse msfconsole options before initializing Rails

MSP-10905
Fix arity difference between rails and msfconsole options

MSP-10905
msfconsole with bundle install --without db

MSP-10905
Fix fd leak and blind IO#gets in pwdump import

MSP-10715
Restore Rails.groups arguments

MSP-10905

They don't cause a problem.
Merge branch 'staging/electro-release' into bug/MSP-10905/msfconsole-database

MSP-10905
Extract option require pattern to helper Module

MSP-10905

`Metasplot::Framework::Require.optionally` can be used to optionally
require a library and then issue a warning if the require fails or run a
block when it succeeds.
Optionally require 'active_record/railtie` in Rakefile

MSP-10905

Require in Rakefile so that db tasks are defined.  Make it optionally so
that `rake` doesn't error out when metasploit-framework installed with
`bundle install --without db`.
Require 'active_record/railtie' for specs

MSP-10905
Merge branch 'staging/electro-release' into bug/MSP-10715/import-security-issues

Update deps

Conflicts:
	Gemfile
	Gemfile.lock
Update metasploit-model and metasploit_data_models deps
Land #3585, fix fd leak in pwdump import

Conflicts:
	db/schema.rb
Land #3586, fix msfconsole when running without db

Conflicts:
	Gemfile.lock
	metasploit-framework.gemspec
Merge remote-tracking branch 'upstream/staging/electro-release' into staging/electro-release
Add an example for add-ssh-key
Wrap comments at 80