Moved this inner class out to a top level class.  In part to reduce the size of PriorityScheduledExecutor, but also in case anyone else needs to take advantage of this implementation.  Producer consumer problems are very common.
Prevent logging out expected exceptions
Unit tests for BlockingQueueConsumer