Added tox for testing, removed circular reference in cache.py imports