MINOR: fd/log/sink: make the non-blocking initialization depend on the initialized bit

Logs and sinks were resorting to dirty hacks to initialize an FD to
non-blocking mode. Now we have a bit for this in the fd tab so we can
do it on the fly on first use of the file descriptor. Previously it was
set per log server by writing value 1 to the port, or during a sink
initialization regardless of the usage of the fd.
diff --git a/src/fd.c b/src/fd.c
index 17cf52b..58d73d4 100644
--- a/src/fd.c
+++ b/src/fd.c
@@ -414,6 +414,12 @@
 		vec++;
 	}
 
+	if (unlikely(!fdtab[fd].initialized)) {
+		fdtab[fd].initialized = 1;
+		if (!isatty(fd))
+			fcntl(fd, F_SETFL, O_NONBLOCK);
+	}
+
 	HA_SPIN_LOCK(FD_LOCK, &fdtab[fd].lock);
 	sent = writev(fd, iovec, vec);
 	HA_SPIN_UNLOCK(FD_LOCK, &fdtab[fd].lock);