Prevent race conditions in Service#each_update

Signed-off-by: Lewis Marshall <lewis@lmars.net>
Implement Discover::Service#leader

Signed-off-by: Lewis Marshall <lewis@lmars.net>
Implement Discover::Service#each_leader

Signed-off-by: Lewis Marshall <lewis@lmars.net>
Implement Discover::Client#register_and_standby

Signed-off-by: Lewis Marshall <lewis@lmars.net>