load balancer fixes

Fixes #14 .

A few changes made here:

* The `LoadBalancingClient` now properly binds itself as a worker item for its shared interface.  No more duplicated logic
* Made some fixes around how worker items are bound and did some refactoring.

I will probably be opening another PR shortly that addresses some of the todo's I mention here.
Now that we have this shiny new test, do we want to put in anything else WorkerItem related? Disconnecting, unbinding, etc?  Just a thought.