Proper database.yml precedence

[MSP-11153](https://jira.tor.rapid7.com/secure/RapidBoard.jspa?rapidView=84&selectedIssue=MSP-11153)

Ensure that the database.yml precedence for `config/application.rb`,`lib/metasploit/framework/parsed_options/base.rb`, and `lib/msf/ui/console/driver.rb` use the same code to decide which `database.yml` to use and that the precedence is

1. An explicit argument to the `-y` flag to `msfconsole`
2. The `MSF_DATABASE_CONFIG` environment variable
3. The user's `~/.msf4/database.yml`
4. `config/database.yml` in the metasploit-framework checkout location.

Cucumber work based on @lsanchez-r7's aruba-testing branch, but with using the cucumber-rails generator from the beginning.  I would have used his branch directly, but there was one failure in a scenario I didn't need, so I went with setting up cucumber myself.

# Verification Steps

## local

### specs
- [ ] `rake spec`
- [ ] VERIFY no failures

### features
- [ ] `rake cucumber`
- [ ] VERIFY no failures

## travis-ci
- [ ] VERIFY there is a build for specs
- [ ] VERIFY the spec build passes
- [ ] VERIFY there is a separate build for cucumber
- [ ] VERIFY the cucumber build passes
That's actually a left over debugging `puts`.  I'll remove it.