Try all address infos returned by getaddrinfo in obigstore

Previously, when specifying the master's address, only the first one
was tried before failing, this caused a problem, for example if using
"localhost", and the master was listening to IPv4 localhost, the
connection would fail because the client would pick IPv6 localhost by
default.

This commit also add much refactoring of obigstore.ml, notably
replacing run_slave by a get_synced_db function, since the code to
launch the local server is identical, I found it handy to factor it.

Some modernization of Lwt code is done as well (Lwt_unix.run -> Lwt_main.run)

Signed-off-by: Vincent Bernardoff <vb@luminar.eu.org>