Run tests in parallel using pytest-xdist

By parallelising the tests, the total time needed to run the entire suite is (on my machine) cut down from about 75 seconds to 20 seconds on average (and this gap should grow even larger as more tests get added over time).