Add main run loop to consumer

The ``TestConsumer`` test is really ugly but nicely exercises all of Consumers functionality *except* Commands (which we haven't specified yet).
@epsniff : I need to insure that the etcd coordinator unblocks Watch() on a call to Close().   I should add comments to the interface too..