Delay the next request in etcd watch when there's an error.

This fixes #329.
Add more things to util::Task.