Relax job selection if job_count < top_boundary

Presently if job_count is less than top_boundary, the first item in the queue is always selected (relative_top = 0). By instead adjusting the top_boundary to be equal to the job_count, a random item will be selected even if the job_count is less than the top_boundary.