MEDIUM: protocol: automatically pick the proto associated to the connection.

When the destination IP is dynamically set, we can't use the "target"
to define the proto. This patch ensures that we always use the protocol
associated with the address family. The proto field was removed from
the server and check structs.
diff --git a/src/backend.c b/src/backend.c
index 721c12a..dbc6d06 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -1059,7 +1059,7 @@
 
 		/* set the correct protocol on the output stream interface */
 		if (objt_server(s->target)) {
-			conn_prepare(srv_conn, objt_server(s->target)->proto, objt_server(s->target)->xprt);
+			conn_prepare(srv_conn, protocol_by_family(srv_conn->addr.to.ss_family), objt_server(s->target)->xprt);
 		}
 		else if (obj_type(s->target) == OBJ_TYPE_PROXY) {
 			/* proxies exclusively run on raw_sock right now */