Adding support to run tests with tox

The benefit of having a tox.ini is that you can test against multiple versions of python and django locally. So you will catch issues before they go to the CI server.

I also added pypy tests and tests for multiple versions of django to the travis tests to catch more issues. Like the one we experienced for #387, #386 and #384.

The branch also includes a few minor fixes that I encountered during various test runs along the way.

Please merge #387 before merging this pull request.