Commit to stand in the place of a merge from master.

This is to bring the "make_test" changes to "super_duper".
Small cleaning up of blocking_callback.h and fake_etcd_test.cc.
Add a base::Notification class.

This is similar to util::BlockingCallback, but simpler.
Replace BlockingCallback with Notificate in fake_etcd_test.

And also remove BlockingCallback. It is an artefact of an older callback
system at Google, Notification is easier.
Add a util::Task class to manage async operations.