Prepare for Django 1.7 support

As a first step, I want to get tox and Travis in sync.

* Add py27-1.7.X, docs, flake8, and coverage targets to tox
* Remove unnecessary TESTENV variable
* Organize TOXENVs in .travis.yml
* Remove pep8 commands from .travis.yml (now run in tox instead)
* Temporarily allow failures on 1.7
* Add `mock` as a `test_requires`
* Clean up the tests/requirements files. Most of this is installed via setup.py. Only include optional requirements which are needed by tests here (`django-celery`, `djtables`). Unfortunately, we also have to duplicate the `mock` requirement here since tox doesn't read test_requires https://bitbucket.org/hpk42/tox/issue/13/tox-should-reuse-tests_require
* Fix all flake8 warnings
My understanding was that the travis virtualenv was built from scratch for each test run, but I'm not certain about that. I'll investigate. In any case, adding `--upgrade` certainly doesn't hurt, so I'll do that.