Zookeeper init hanging

I found 2 problems with the zookeeper_init call.

1- The behavior of a program is undefined if:
   a thread that owns a timed_mutex object calls lock(), try_lock(), try_lock_for(), or try_lock_until() on that object
2- There is a bug in the g++-4.7 Ubuntu 13.04 with the std::chrono::steady_clock that is not calculating the exact epoch time.

This commit will fix both issues, changing the timed_mutex with a conditional_variable. The behavior is still the same.