Merge branch 'util_task_initial' into integration
Add cancellation support to util::Task.