MINOR: listener: prefer to retrieve the socket's settings via the receiver

Some socket settings used to be retrieved via the listener and the
bind_conf. Now instead we use the receiver and its settings whenever
appropriate. This will simplify the removal of the dependency on the
listener.
diff --git a/src/proto_tcp.c b/src/proto_tcp.c
index 79b68b4..62f8611 100644
--- a/src/proto_tcp.c
+++ b/src/proto_tcp.c
@@ -581,7 +581,7 @@
 	ext = (fd >= 0);
 
 	if (!ext) {
-		fd = my_socketat(listener->bind_conf->settings.netns, listener->rx.addr.ss_family, SOCK_STREAM, IPPROTO_TCP);
+		fd = my_socketat(listener->rx.settings->netns, listener->rx.addr.ss_family, SOCK_STREAM, IPPROTO_TCP);
 
 		if (fd == -1) {
 			err |= ERR_RETRYABLE | ERR_ALERT;
@@ -649,10 +649,10 @@
 
 #ifdef SO_BINDTODEVICE
 	/* Note: this might fail if not CAP_NET_RAW */
-	if (!ext && listener->bind_conf->settings.interface) {
+	if (!ext && listener->rx.settings->interface) {
 		if (setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE,
-		               listener->bind_conf->settings.interface,
-		               strlen(listener->bind_conf->settings.interface) + 1) == -1) {
+		               listener->rx.settings->interface,
+		               strlen(listener->rx.settings->interface) + 1) == -1) {
 			msg = "cannot bind listener to device";
 			err |= ERR_WARN;
 		}
@@ -769,7 +769,7 @@
 	listener->state = LI_LISTEN;
 
 	fd_insert(fd, listener, listener->rx.proto->accept,
-	          thread_mask(listener->bind_conf->settings.bind_thread) & all_threads_mask);
+	          thread_mask(listener->rx.settings->bind_thread) & all_threads_mask);
 
 	/* for now, all regularly bound TCP listeners are exportable */
 	if (!(listener->options & LI_O_INHERITED))