REORG: listener: move the receiving FD to struct receiver

The listening socket is represented by its file descriptor, which is
generic to all receivers and not just listeners, so it must move to
the rx struct.

It's worth noting that in order to extend receivers and listeners to
other protocols such as QUIC, we'll need other handles than file
descriptors here, and that either a union or a cast to uintptr_t
will have to be used. This was not done yet and the field was
preserved under the name "fd" to avoid adding confusion.
diff --git a/src/proto_tcp.c b/src/proto_tcp.c
index a338ad8..a97cdc3 100644
--- a/src/proto_tcp.c
+++ b/src/proto_tcp.c
@@ -569,15 +569,15 @@
 
 	err = ERR_NONE;
 
-	if (listener->fd == -1)
-		listener->fd = sock_find_compatible_fd(listener);
+	if (listener->rx.fd == -1)
+		listener->rx.fd = sock_find_compatible_fd(listener);
 
 	/* if the listener already has an fd assigned, then we were offered the
 	 * fd by an external process (most likely the parent), and we don't want
 	 * to create a new socket. However we still want to set a few flags on
 	 * the socket.
 	 */
-	fd = listener->fd;
+	fd = listener->rx.fd;
 	ext = (fd >= 0);
 
 	if (!ext) {
@@ -765,7 +765,7 @@
 #endif
 
 	/* the socket is ready */
-	listener->fd = fd;
+	listener->rx.fd = fd;
 	listener->state = LI_LISTEN;
 
 	fd_insert(fd, listener, listener->proto->accept,
@@ -830,13 +830,13 @@
  */
 int tcp_pause_listener(struct listener *l)
 {
-	if (shutdown(l->fd, SHUT_WR) != 0)
+	if (shutdown(l->rx.fd, SHUT_WR) != 0)
 		return -1; /* Solaris dies here */
 
-	if (listen(l->fd, listener_backlog(l)) != 0)
+	if (listen(l->rx.fd, listener_backlog(l)) != 0)
 		return -1; /* OpenBSD dies here */
 
-	if (shutdown(l->fd, SHUT_RD) != 0)
+	if (shutdown(l->rx.fd, SHUT_RD) != 0)
 		return -1; /* should always be OK */
 	return 1;
 }