Define test settings more robustly

Previously we defined test settings in `opentreemap\test_settings.py` and loaded them via the `--settings` argument to `manage.py test`. That was bad for two reasons:
1) It didn't work (as far as I can tell.)
2) It requires us to invoke the test runner a certain way.

This new approach defines new base classes `OTMTestCase` and `LocalTransactionTestCase`, decorates them with the desired `override_settings`, and makes all OTM test classes inherit from them.