Address come comments.

Add more comments, improved the compliance to the Google C++ style guide, and
added more CHECKs, for safety.
Merge branch 'util_task_initial' into integration
Add cancellation support to util::Task.
Add memory management to util::Task.