Small cleaning up of blocking_callback.h and fake_etcd_test.cc.
Add a Notification class.

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

And also remove BlockingCallback. It is an artefact of an older callback
system at Google, Notification is easier.
Call evthread_use_pthreads() in all tests.
Merge branch 'master' into super_duper
Have newlines at the end of notifications in etcd_watch.
Release the lock in Notification before notifying waiters.

This can avoid a bit of contention, since the first thing that a waiter would
do is try to take the lock.
Add "using" statements to fake_etcd.cc.

Some of the lines are rather long, try to make the code easier to read.
Convert the members of libevent::Base to use unique_ptr.

This also ensures the destruction order of the members, to avoid
use-after-free issues.