Enhance tests/config.py to ease using the configured environment

It can sometimes be useful to be able to drop into the configured Django
environment of the test suite. It might e.g. be useful to drop into the
shell with ./config.py shell_plus or create missing migrations with
./config.py makemigrations

I needed this to create migrations for the test suite apps.
Add migrations for test apps

To create test databases, the Django test runner calls the 'migrate'
management command, and I think the current Nose test runner calls
'syncdb', which under Django 1.7 is aliased to 'migrate'.

This command inspects the migration graph to figure out the migrations
to run. So it inspects the migrations that ship with Oscar. Some of them
depend on the partner or customer migrations. The test suite swaps out
those apps. Until now, the command then couldn't find the initial
migrations and would fail with a dependency error.

As far as I can tell, there's no good way to just call what used to be
"syncdb" and ignore migrations completely. So for now, we will have to
create migrations for the test apps that replace Oscar.