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.

This is motivated by the fact that there are outstanding model changes on master currently, for both 1.7 and South migrations - hence why the build is likely to fail.

The bulk of the test code is taken from the Django 1.7 `makemigrations` command, and the South `schemamigration` command.