Raise NoDatabaseError when db does not exist

Building on the work of #13427 this PR adds a helpful error message to the adapters: mysql, mysql2, and sqlite3
Better missing `secret_key_base` error message

Previously the error was:

```
RuntimeError: You must set secret_key_base in your app's config
```

Will now be:


```
RuntimeError: Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml`
```
Merge pull request #13469 from schneems/schneems/no-database-errors-all

Raise NoDatabaseError when db does not exist
Merge pull request #13471 from schneems/schneems/better-secrets-error-message

Better missing `secret_key_base` error message
Merge pull request #13472 from schneems/schneems/fix-master-database-url-tests

Fix railties tests in master
Revert "Ensure secret_key_base is set for all environments"

A better solution has been pushed to master.

This reverts commit 959cfcef7255bba720ce3f15323056533ea7b50a.