Add pytest-xdist for --looponfail

This allows the tests to run every time a file changes and re-runs failing tests only unless no tests failed