REORG: listener: move the listener's proto to the receiver

The receiver is the one which depends on the protocol while the listener
relies on the receiver. Let's move the protocol there. Since there's also
a list element to get back to the listener from the proto list, this list
element (proto_list) was moved as well. For now when scanning protos, we
still see listeners which are linked by their rx.proto_list part.
diff --git a/src/session.c b/src/session.c
index 871a6ac..58eacd4 100644
--- a/src/session.c
+++ b/src/session.c
@@ -155,7 +155,7 @@
 	cli_conn->flags |= CO_FL_ADDR_FROM_SET;
 	cli_conn->proxy_netns = l->bind_conf->settings.netns;
 
-	conn_prepare(cli_conn, l->proto, l->bind_conf->xprt);
+	conn_prepare(cli_conn, l->rx.proto, l->bind_conf->xprt);
 	conn_ctrl_init(cli_conn);
 
 	/* wait for a PROXY protocol header */
@@ -207,8 +207,8 @@
 		 *  - HEALTH mode without HTTP check => just send "OK"
 		 *  - TCP mode from monitoring address => just close
 		 */
-		if (l->proto->drain)
-			l->proto->drain(cfd);
+		if (l->rx.proto->drain)
+			l->rx.proto->drain(cfd);
 		if (p->mode == PR_MODE_HTTP ||
 		    (p->mode == PR_MODE_HEALTH && (p->options2 & PR_O2_CHK_ANY) == PR_O2_TCPCHK_CHK &&
 		     (p->tcpcheck_rules.flags & TCPCHK_RULES_PROTO_CHK) == TCPCHK_RULES_HTTP_CHK))