Avoid stack overflow in EtcdClient watcher.

In some error cases, this can call itself recursively, until there it works, but we could run out of stack. We're usually already in a libevent dispatch callback, but making sure is the safest option.

Despite the name of my branch, you also need #335 to get ```masterelection_test``` to pass. Then, there's some other problems (#329 and #330) that make it not ideal, but it passes. :wink: