A few simplifications to test_runner.py to make it easier to reason about (and perhaps fix #23799#pullrequestreview-845657169):
- Remove the num_running variable as it should be implied by the length of the jobs variable.
- Remove the i variable as it should be implied by the length of the test_results variable.
- Instead of counting results to determine if we're done, make the queue object itself responsible (by looking at running jobs and jobs left).