Use Django's Testcase

This update replaces unittest.TestCase with Django’s own TestCase.

This is likely to be favoured by most users of this package, so I thought having the default set to Django’s TestCase would be preferable. The means Django specific test features (such as the loading of fixture files) will work as intended for the Django app.

I am aware that this might not be preferred, so I'll leave it up to your judgement to merge or to decline.

I have also added Flake8 and tox to the requirements-test.txt file, as I noticed they were missing, but required by some parts of the Makefile.