Make railites a hard dep

MSP-11359
Remove if defined? Rails check for requiring engine

MSP-11359
Fix requires spacing

MSP-11359
Fix typo

MSP-11359
Remove Metasploit::Model::Configured

MSP-11359

`Metasploit::Model::Configured` and `Metasploit::Model::Configuration`
was only needed to fake the `Rails::Engine` setup when `Rails` wasn't
being used, but now `Rails` is a hard requirement for
`metasploit-model`, so `Metasploit::Model::Configured` and
`Metasploit::Model::Configuration` can be removed.  Removing those
classes meant the code loading reverted to the default `Rails::Engine`
setup, so `lib` is no longer autoloading, meaning that Kernel#autoload
and Kernel#require needed to be used to load from `lib` now.
`Metasploit::Model::Configured` also defined `Metasploit:Model.root`.
With it gone, consumers should use `Metasploit::Model::Engine.root`.
Use requires/autoload in app/models

MSP-11359

Although models in app/models should not be required or autoloaded, the
files in app/models do need to require the constant they use from lib
and added `autoload`s for constants in lib that are defined under
app/models Class namespaces.
Fix YARD warnings

MSP-11359
Document undocumented objects

MSP-11359
Lands #24, Hard-dependency on railties

MSP-11359