Add `Client_main.find_master'`

This patch adds `Client_main.find_master'`, which should be a more
resilient master lookup algorithm.

It also reworks `Client_main.find_master` to use the new `find_master'`,
but keep the behaviour of the original action regarding error handling.
Implement concurrent connecting
Fix exception handling in `Client_main.with_connection'`
Address review comments
Simplify & fix `Client_main.with_connection'`
Rework `Client_main.with_connection'`
Minor API enhancements
Move `CountDownLatch` into a new `Lwt_extra` module
Pass through exceptions if applicable

Handling review comment
https://github.com/Incubaid/arakoon/pull/479#discussion_r14876029
Merge origin/1.7 into find-master (using imerge)
Merge pull request #479 from Incubaid/find-master

Add `Client_main.find_master'`