Automatically maintain test database schema

* Move check from generated helper to test_help.rb, so that all
  applications can benefit
* Rather than just raising when the test schema has pending migrations,
  try to load in the schema and only raise if there are pending
  migrations afterwards

TODO:

- [x] We no longer need db:test:prepare and friends. Deprecate them.
- [x] Update docs/changelog
- [x] Add config option to allow users to opt-out of this behaviour
So seems like it's already fixed https://github.com/rails/rails/pull/15394