Initial fix for circular locking. Fixes FIFO/LIFO problem.

Lack of free Redis clients were creating circular locks. Equal priority tasks were being processed LIFO instead of FIFO. Resolves both of these issues

* Changed Dispatcher#broadcast(id, event) to (event, id)
* Binds appropriate Dispatcher functions in-module rather than out-of-module
* Switches sortedAdd/sortedPop order in order to fix LIFO problem
* Adds race condition example (demonstrates breaking)
* Cleans up remaining noop and done calls/declarations
* Adds extensive argument polymorphism: many fxn can accept client + factory
* Eliminates calls to "run" and Factory.run (was causing binding problems)
* Binds transport-redis functions to self