Convert etcd watchers to use util::Task.

Minor downside: cancellations aren't as expedited as before. There's a plan to fix that, but I think it's actually sort of nice to have a bit of odd behaviour there to shake more bugs out...