Fix possibly uncaught exception on PriorityScheduler shutdown
Look for expired workers before adding worker
This will always prevent you from expiring the last thread (with a keep alive of zero)...but this is a slight improvement to the worker search logic when the pool is heavily used