change preferred master implementation
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.
nodes should not behave in a preferred manner after receiving a drop master call
make node behave 'preferred' again after a maintenance operation
make closing a tlog with the correct marker a bit easier
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
expand test_marker_presence_required to verify --mark-tlog -close
remove help2man dependency from jenkins/base/005_install_ubuntu_dependencies.sh
add separate --close-tlog command to cli
Pass through exceptions if applicable

Handling review comment
https://github.com/Incubaid/arakoon/pull/479#discussion_r14876029
Merge pull request #481 from Incubaid/hint-close-marker

make closing a tlog with the correct marker a bit easier
return an exit code different from 0 when some tests fail
base tests should not be marked as failure on CI when some tests fail
Merge pull request #485 from Incubaid/test-run-return-code

return an exit code different from 0 when some tests fail