Generalise multiprocess test execution.

The previous method worked fine under detox, but didn't allow nose's --processes=? flag to be used. This method uses a more general method which allows both.

For instance, running "nosetests --processes=4 waitress.tests" with this patch reduces running time down from 60s to 16s