Report, and abort, spec tests if migrations are not current

Every time we ship a new migration, everyone gets the excitement of debugging
some random failure like "no such method name on BlahBlah".  While that is
fun, and brings some zest to the development process, it isn't really
that efficient.

Instead, we can detect the situation where migrations are behind (or ahead of)
the current state on disk, and report a nice, clear error message to the
person trying to run the tests.

This should reduce developer headaches without any particular problem for
anyone else.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>