Fixes migration issues and the seltest command

The migration fixes might conflict with Taylor's changes when we
get around to merging that. We should be sure to check ./manage.py
syncdb followed by ./manage.py migrate on a clean database to make
sure it works after the merge (which will likely be a manual one).
Merge branch 'main' of github.com:learning-unlimited/ESP-Website into migration_test_fixes_gurtej
Adds several depends_ons and tweaks migrations to get flush working

One of the changes was to actually delete the
modules_satprepadminmoduleinfo table. Commit 64161115 by @pricem
describes why this was not included in migration 0024 initially,
but this was preventing flushing, and at this point I think we can
safely delete this table. Since this is affecting an old migration
we have to replay this migration to actually cause the tables to
delete, so if MIT ESP wants to keep the data around we can just
leave things as they are.
Fixes up testing so that databases work correctly

This now limits you to running exactly one type of test per run:
normal tests, or Selenium tests. This aligns better with how the
Buildbot testers should be running anyway.
Adds __init__.py files to cal/qsd migrations
Removes SOUTH_TESTS_MIGRATE in local_settings.py.default

SOUTH_TESTS_MIGRATE should be set to True (which is the default)
so it can be removed from local_settings. Deployments should also
update their local settings if they want to run tests correctly.
Merge pull request #655 from learning-unlimited/migration_test_fixes_gurtej

Fixes migration issues and the seltest command