socket: use listen() and SO_REUSEADDR, new osmo_sock_init_ofd() function

osmo_sock_init_ofd() is a wrapper around osmo_sock_init() which will
take care of initializing and registering a 'struct osmo_fd' for the
newly-created socket.
diff --git a/include/osmocom/core/socket.h b/include/osmocom/core/socket.h
index a3baa9d..b2601c7 100644
--- a/include/osmocom/core/socket.h
+++ b/include/osmocom/core/socket.h
@@ -8,6 +8,9 @@
 int osmo_sock_init(uint16_t family, uint16_t type, uint8_t proto,
 		   const char *host, uint16_t port, int connect0_bind1);
 
+int osmo_sock_init_ofd(struct osmo_fd *ofd, int family, int type, int proto,
+			const char *host, uint16_t port, int connect0_bind1);
+
 int osmo_sock_init_sa(struct sockaddr *ss, uint16_t type,
 		      uint8_t proto, int connect0_bind1);