Mutex tidy up.

Condition variable names needn't be strings - the use was leading to valgrind
warnings.
Don't fail AssertSharedHeld when self isn't known.
Allow gtest thread chance to merge to avoid memory leak.
Make barrier test log output more human readable.

Change-Id: If1923c69a2965d933036c496dc5b1d64ec887db2
diff --git a/src/base/mutex_test.cc b/src/base/mutex_test.cc
index 0b0f2c9..1af8e0a 100644
--- a/src/base/mutex_test.cc
+++ b/src/base/mutex_test.cc
@@ -126,6 +126,7 @@
 
   state.mu.Unlock(Thread::Current());
   state.mu.Unlock(Thread::Current());
+  EXPECT_EQ(pthread_join(pthread, NULL), 0);
 }
 
 // This ensures we don't hang when waiting on a recursively locked mutex,