Add a test that checks for missing migrations

If there are any outstanding model changes that have no migrations, the
tests will fail. Migrations *must* be up-to-date before any code changes
are accepted, or before a new version is released. If they are not, it
causes havoc for all users.

The bulk of the test code is taken from the Django 1.7 `makemigrations`
command, and the South `schemamigration` command.