Remove loads of sleep statements in UTs

This removes all the calls to sleep() in spec/concurrent/executor/thread_pool_executor_shared.rb, replacing them with Event wait/set or CountDownLatch calls in order to block for the minimum sensible amount of time.

Consistently brings `spec/concurrent/executor/{ruby,java}_thread_pool_executor_spec.rb` down from 11s to 5s for me (across MRI, rbx and JRuby), so I think it's worth doing.
I think this change actually brings most of the benefit.