MINOR: backend: search conn in idle/safe trees after available

If no matching connection is found on available, check on idle/safe
trees for a matching one. This is needed because now idle connections
can be differentiated from each other.

If only the available list was checked because not empty, but did not
contain a matching connection, we could miss matching entries in idle or
safe trees.
diff --git a/src/backend.c b/src/backend.c
index 7d256de..d561b82 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -1288,8 +1288,9 @@
 			if (srv_conn)
 				reuse = 1;
 		}
+
 		/* if no available connections found, search for an idle/safe */
-		else if (srv->max_idle_conns && srv->curr_idle_conns > 0) {
+		if (!srv_conn && srv->max_idle_conns && srv->curr_idle_conns > 0) {
 			const int not_first_req = s->txn && s->txn->flags & TX_NOT_FIRST;
 			const int idle = srv->curr_idle_nb > 0;
 			const int safe = srv->curr_safe_nb > 0;