redding/dat-tcp — pull request #7 by jcredding (2013-02-11 17:45:37+00:00)
Title: Seperated out mutexes for each resource

This breaks apart mutex usage for each resource that we are
locking. This creates a `Queue` and `Waiting` class that manage
their own mutexes. The final resource is the collection of
spawned workers, which the `WorkerPool` has a mutex for. This is
clearer about the intent of what resource we are locking and
waiting for.