Negative numbers can be passed for number of processes

This allows you reserve cores from running the tests without
hardcoding the number of cores incase you run on a system with
more or fewer cores.