Fix tests in Travis and setuptools

Use django-nose and a custom setuptools command to make tests run in Travis and with a `./setup.py test`.

As a side benefit, this lets us structure the tests module as a normal Django app, with models and constants in a separate file.