MEDIUM: fd/si: move peeraddr from struct fdinfo to struct connection

The destination address is purely a connection thing and not an fd thing.
It's also likely that later the address will be stored into the connection
and linked to by the SI.

struct fdinfo only keeps the pointer to the port range and the local port
for now. All of this also needs to move to the connection but before this
the release of the port range must move from fd_delete() to a new function
dedicated to the connection.
diff --git a/src/peers.c b/src/peers.c
index a4ea915..c12dcf6 100644
--- a/src/peers.c
+++ b/src/peers.c
@@ -1149,6 +1149,8 @@
 
 	s->req = s->rep = NULL; /* will be allocated later */
 
+	s->si[0].conn.peeraddr = NULL;
+	s->si[0].conn.peerlen  = 0;
 	s->si[0].conn.t.sock.fd = -1;
 	s->si[0].owner = t;
 	s->si[0].state = s->si[0].prev_state = SI_ST_EST;
@@ -1167,6 +1169,8 @@
 	s->si[0].applet.st0 = PEER_SESSION_CONNECT;
 	s->si[0].conn.data_ctx = (void *)ps;
 
+	s->si[1].conn.peeraddr = NULL;
+	s->si[1].conn.peerlen  = 0;
 	s->si[1].conn.t.sock.fd = -1; /* just to help with debugging */
 	s->si[1].owner = t;
 	s->si[1].state = s->si[1].prev_state = SI_ST_ASS;