Go the safest way.
Merge branch 'util_task_initial' into integration
Add cancellation support to util::Task.
Add memory management to util::Task.
Convert etcd watchers to use util::Task.