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:

[ ] We no longer need db:test:prepare and friends. Deprecate them.
[ ] Update docs/changelog
[ ] Add config option to allow users to opt-out of this behaviour