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_sockpair.c b/src/proto_sockpair.c
index ff7c0a2..c736995 100644
--- a/src/proto_sockpair.c
+++ b/src/proto_sockpair.c
@@ -93,7 +93,7 @@
  */
 static int sockpair_bind_listener(struct listener *listener, char *errmsg, int errlen)
 {
-	int fd = listener->fd;
+	int fd = listener->rx.fd;
 	int err;
 	const char *msg = NULL;
 
@@ -106,7 +106,7 @@
 	if (listener->state != LI_ASSIGNED)
 		return ERR_NONE; /* already bound */
 
-	if (listener->fd == -1) {
+	if (listener->rx.fd == -1) {
 		err |= ERR_FATAL | ERR_ALERT;
 		msg = "sockpair can be only used with inherited FDs";
 		goto err_return;