enhanced thread pool

This enhancement improves the following areas:
 1) has more efficient job replacement in scheduling while preserving original order of existing jobs in the queue.
 2) eliminates the unnecessary wait time of past-due jobs