Add a FakeEtcdClient useful for testing.

After discussing in person, I think I shouldn't expect the callbacks to be run on the libevent thread, **but** we should be require that those callbacks do not block (would be good to mention that in the header).