Use autoload in favor of require or ActiveSupport::Dependencies

MSP-11385

To help with startup time, use autoload instead of require whenever possible.  To limit overall loading time, even after boot, disable default `Rails::Engine` loading for `Metasploit::Model::Engine` and only use `autoload` so the remaining users of `ActiveSupport::Dependencies` don't have to check as many load paths.

# Verification

## specs
- [x] `rake spec`
- [x] VERIFY no failures

# Post-merge Steps

Perform these steps prior to pushing to master or the build will be broke on master.

## Version
- [x] Edit `lib/metasploit/model/version.rb`
- [x] Remove `PRERELEASE` and its comment as `PRERELEASE` is not defined on master.

## Gem build
- [x] gem build *.gemspec
- [x] VERIFY the gem has no '.pre' version suffix.

## RSpec
- [x] `rake spec`
- [x] VERIFY version examples pass without failures

## Commit & Push
- [ ] `git commit -a`
- [ ] `git push origin master`

# Release

Complete these steps on DESTINATION

## Version

### Compatible changes

[`PATCH`](lib/metasploit/model/version.rb) has already been incremented.

## JRuby
- [ ] `rvm use jruby@metasploit-model`
- [ ] `rm Gemfile.lock`
- [ ] `bundle install`
- [ ] `rake release`

## MRI Ruby
- [ ] `rvm use ruby-1.9.3@metasploit-model`
- [ ] `rm Gemfile.lock`
- [ ] `bundle install`
- [ ] `rake release`