Fix performance edge case caused by slow final test
Fix performance edge case caused by slow final test

Prior to this commit, tests were put on the run queue in alphabetical order. If you're unlucky like us, and your two heaviest test classes (our example, `WebSetsControllerTest`) are alphabetically last, then your last thread will spend several extra minutes running the last test suite. 

In this commit, I shuffle the pending tests (in a way that's deterministic so it runs in very roughly the same order each time). This way, the likelihood that your heavy test is last is low. If it runs in the middle somewhere, it can take its sweet time and paratest will run all your other tests in the other processes while that long-running test suite runs.
quizlet/paratest,quizlet/paratest