[MEDIUM] Collect & provide separate statistics for sockets, v2

This patch allows to collect & provide separate statistics for each socket.
It can be very useful if you would like to distinguish between traffic
generate by local and remote users or between different types of remote
clients (peerings, domestic, foreign).

Currently no "Session rate" is supported, but adding it should be possible
if we found it useful.
diff --git a/src/session.c b/src/session.c
index 9d46fe6..447660e 100644
--- a/src/session.c
+++ b/src/session.c
@@ -146,6 +146,9 @@
 
 			if (s->srv)
 				s->srv->counters.bytes_in		+= bytes;
+
+			if (s->listener->counters)
+				s->listener->counters->bytes_in		+= bytes;
 		}
 	}
 
@@ -160,6 +163,9 @@
 
 			if (s->srv)
 				s->srv->counters.bytes_out		+= bytes;
+
+			if (s->listener->counters)
+				s->listener->counters->bytes_out	+= bytes;
 		}
 	}
 }
@@ -1309,7 +1315,11 @@
 {
 	if (!(s->flags & SN_FINST_MASK)) {
 		if (s->si[1].state < SI_ST_REQ) {
+
 			s->fe->counters.failed_req++;
+			if (s->listener->counters)
+				s->listener->counters->failed_req++;
+
 			s->flags |= SN_FINST_R;
 		}
 		else if (s->si[1].state == SI_ST_QUE)