Etcd can close the watch channel for services

Need to loop and reopen if it's closed.

Fixes #879