Switch to tox

So this uncovers some issues in the tests. In [this build](https://travis-ci.org/sqlobject/sqlobject/builds/44712518) we use a `PYTHONHASHSEED` that causes tests that [depend on dictionary ordering](https://travis-ci.org/sqlobject/sqlobject/jobs/44712519#L218) to fail. So we can set a hashseed value that we know will succeed, but that will only delay the problem. As soon as our tests are able to run on python 3 this will happen regardless of the value of an environment value.