Refactor tests

Refactors the KA Lite test inheritance hierarchy into three base classes:

- `KALiteTestCase`: The base class. Does setup work needed by all tests.
- `KALiteClientCase`: Sets up the Django client and initializes it to `self.client`.
- `KALiteBrowserTestCase`: Sets up the browser + an instance of the server.

All browser convenience functions have also been added to `BrowserActionMixins`.Client convenience functions are embedded as instance methods in the `client` class instantiated by `KALiteClientTestCase`. Other changes include:

- All mixins can be imported from `kalite.testing.mixins`. No need for `kalite.testing.mixins.*_mixins`.
- Pdb doesn't automatically activate anymore with `--failfast`.
Btw I also added this decorator/generator, although I didn't use it this might be useful along the line.