[BUG] Don't increment server connections too much + fix retries

Commit 98937b875798e10fac671d109355cde29d2a411a while fixing
one bug introduced another one. With "retries 4" and
"option redispatch" haproxy tries to connect 4 times to
one server server and 1 time to a second one. However
logs showed 5 connections to the first server (the
last one was counted twice) and 2 to the second.

This patch also fixes srv->retries and be->retries increments.

Now I get: 3 retries and 1 error in a first server (4 cum_sess)
and 1 error in a second server (1 cum_sess) with:
 retries 4
 option redispatch

and: 4 retries and 1 error (5 cum_sess) with:
 retries 4

So, the number of connections effectively served by a server is:
 srv->cum_sess - srv->failed_conns - srv->retries
diff --git a/src/backend.c b/src/backend.c
index 4c5eec3..b1452b7 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -1341,9 +1341,6 @@
 {
 	/* we are in front of a retryable error */
 	t->conn_retries--;
-	if (t->srv)
-		t->srv->retries++;
-	t->be->retries++;
 
 	if (t->conn_retries < 0) {
 		/* if not retryable anymore, let's abort */
@@ -1351,8 +1348,6 @@
 		srv_close_with_err(t, conn_err, SN_FINST_C,
 				   503, error_message(t, HTTP_ERR_503));
 		if (t->srv)
-			t->srv->cum_sess++;
-		if (t->srv)
 			t->srv->failed_conns++;
 		t->be->failed_conns++;
 
diff --git a/src/proto_http.c b/src/proto_http.c
index e59ce5a..cd88905 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -2628,7 +2628,6 @@
 					task_wakeup(t->srv->queue_mgt);
 
 				if (t->srv) {
-					t->srv->cum_sess++;
 					t->srv->failed_conns++;
 					t->srv->redispatches++;
 				}
@@ -2642,6 +2641,10 @@
 				/* first, get a connection */
 				if (srv_redispatch_connect(t))
 					return t->srv_state != SV_STCONN;
+			} else {
+				if (t->srv)
+					t->srv->retries++;
+				t->be->retries++;
 			}
 
 			do {