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/stream.c b/src/stream.c
index f282665..b298d7b 100644
--- a/src/stream.c
+++ b/src/stream.c
@@ -2823,7 +2823,7 @@
 			     tm.tm_mday, monthname[tm.tm_mon], tm.tm_year+1900,
 			     tm.tm_hour, tm.tm_min, tm.tm_sec, (int)(strm->logs.accept_date.tv_usec),
 			     strm->uniq_id,
-			     strm_li(strm) ? strm_li(strm)->proto->name : "?");
+			     strm_li(strm) ? strm_li(strm)->rx.proto->name : "?");
 
 		conn = objt_conn(strm_orig(strm));
 		switch (conn && conn_get_src(conn) ? addr_to_str(conn->src, pn, sizeof(pn)) : AF_UNSPEC) {
@@ -3232,7 +3232,7 @@
 			chunk_appendf(&trash,
 				     "%p: proto=%s",
 				     curr_strm,
-				     strm_li(curr_strm) ? strm_li(curr_strm)->proto->name : "?");
+				     strm_li(curr_strm) ? strm_li(curr_strm)->rx.proto->name : "?");
 
 			conn = objt_conn(strm_orig(curr_strm));
 			switch (conn && conn_get_src(conn) ? addr_to_str(conn->src, pn, sizeof(pn)) : AF_UNSPEC) {