[MEDIUM] fd: merge fd_list into fdtab

The fd_list[] used by sepoll was indexed on the fd number and was only
used to store the equivalent of an integer. Changing it to be merged
with fdtab reduces the number of pointer computations, the code size
and some initialization steps. It does not harm other pollers much
either, as only one integer was added to the fdtab array.
diff --git a/include/types/fd.h b/include/types/fd.h
index 63c59ee..f698863 100644
--- a/include/types/fd.h
+++ b/include/types/fd.h
@@ -72,6 +72,10 @@
 		struct buffer *b;            /* read/write buffer */
 	} cb[DIR_SIZE];
 	void *owner;                         /* the session (or proxy) associated with this fd */
+	struct {                             /* used by pollers which support speculative polling */
+		unsigned char e;             /* read and write events status. 4 bits, may be merged into flags' lower bits */
+		unsigned int s1;             /* Position in spec list+1. 0=not in list. */
+	} spec;
 	unsigned short flags;                /* various flags precising the exact status of this fd */
 	unsigned char state;                 /* the state of this fd */
 	unsigned char ev;                    /* event seen in return of poll() : FD_POLL_* */