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.

I've also added the pyflakes jobs as allowed failures. There are a lot of lint-related output and we should judiciously fix them. I would have used `flake8` but that also runs `pep8` over the source which I'm unsure we wish to follow. Let me know what you all think.