Randomly pick between work specs, don't always choose the first one.

This uses a simple algorithm where update_bundle() sets a niceness score,
that is capped at +-20, and each work spec gets a (20-niceness) share of
all jobs.  If work spec A has niceness=0 and work spec B has niceness=10,
then twice as many A jobs as B jobs will run; but (unlike prior to this
change) a third of the jobs run will be B jobs, not none.

This does not otherwise try to be "fair" in terms of correcting for
random.random(), allocating CPU cycles, etc.