change WorkQueue, add stop test to thread pool

Chang WorkQueue to ConcurrentQueue. Remove stop() functionality from
ConcurrentQueue.

Change ThreadPool.stop() to add noop tasks to the queue so that the
pool is not waiting on threads waiting on an empty queue.