Allow using detox, and fix/refactor collection of coverage reports
This branch:
- integrates coverage reporting in tox
- ensures concurrent test runs dont conflict (temp directories or coverage files)
- allows using
detox
to run tests against multiple python versions easily, including collated coverage reporting - updates the CI to use
tox
for the reports - adds some notes to the contributing guide about running
detox
and viewing coverage reports