[MINOR] recompute maxfd before touching fdtab

It may be dangerous to play with fdtab before doing fd_insert()
because this last one is responsible for growing maxfd as needed.
Call fd_insert() before instead.
diff --git a/src/checks.c b/src/checks.c
index 0a27201..0996925 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -329,6 +329,7 @@
 						//fprintf(stderr, "process_chk: 4\n");
 			
 						s->curfd = fd; /* that's how we know a test is in progress ;-) */
+						fd_insert(fd);
 						fdtab[fd].owner = t;
 						fdtab[fd].cb[DIR_RD].f = &event_srv_chk_r;
 						fdtab[fd].cb[DIR_RD].b = NULL;
@@ -339,7 +340,6 @@
 #ifdef DEBUG_FULL
 						assert (!EV_FD_ISSET(fd, DIR_RD));
 #endif
-						fd_insert(fd);
 						/* FIXME: we allow up to <inter> for a connection to establish, but we should use another parameter */
 						tv_delayfrom(&t->expire, &now, s->inter);
 						task_queue(t);	/* restore t to its place in the task list */
diff --git a/src/client.c b/src/client.c
index 6b27df6..46cf43e 100644
--- a/src/client.c
+++ b/src/client.c
@@ -378,6 +378,7 @@
 		s->rep->wto = s->fe->clitimeout;
 		s->rep->cto = 0;
 
+		fd_insert(cfd);
 		fdtab[cfd].owner = t;
 		fdtab[cfd].state = FD_STREADY;
 		fdtab[cfd].cb[DIR_RD].f = &stream_sock_read;
@@ -402,8 +403,6 @@
 			EV_FD_SET(cfd, DIR_RD);
 		}
 
-		fd_insert(cfd);
-
 		tv_eternity(&s->req->rex);
 		tv_eternity(&s->req->wex);
 		tv_eternity(&s->req->cex);
diff --git a/src/proxy.c b/src/proxy.c
index a5431c2..93eab16 100644
--- a/src/proxy.c
+++ b/src/proxy.c
@@ -147,12 +147,12 @@
 			listener->fd = fd;
 
 			/* the function for the accept() event */
+			fd_insert(fd);
 			fdtab[fd].cb[DIR_RD].f  = &event_accept;
 			fdtab[fd].cb[DIR_WR].f = NULL; /* never called */
 			fdtab[fd].cb[DIR_RD].b = fdtab[fd].cb[DIR_WR].b = NULL;
 			fdtab[fd].owner = (struct task *)curproxy; /* reference the proxy instead of a task */
 			fdtab[fd].state = FD_STLISTEN;
-			fd_insert(fd);
 			listeners++;
 		}