Fix setup.py test and add tox.ini

- For some reason, 'pytest-cache' isn't found by setup.py if not
  specified explicitly in 'tests_require'
- Add tox.ini so tests can be run using tox if desired
- Update test to not be dependent on serialization