MAJOR: acl: make acl_find_targets also resolve proxy names at config time

Proxy names are now resolved when the config is parsed and not at runtime.
This means that errors will be caught for real instead of having an ACL
silently never match. Another benefit is that the fetch will be much faster
since the lookup will not have to be performed anymore, eg for all ACLs
based on explicitly named stick-tables.

However some buggy configurations which used to silently fail in the past
will now refuse to load, hence the MAJOR tag.
diff --git a/src/frontend.c b/src/frontend.c
index bb117a5..ebe864b 100644
--- a/src/frontend.c
+++ b/src/frontend.c
@@ -508,7 +508,7 @@
 }
 
 /* set temp integer to the number of connections per second reaching the frontend.
- * Accepts either 0 or 1 argument. Argument is a string, other types will cause
+ * Accepts either 0 or 1 argument. Argument is a frontend, other types will cause
  * an undefined behaviour.
  */
 static int
@@ -516,21 +516,15 @@
                        struct acl_expr *expr, struct acl_test *test)
 {
 	test->flags = ACL_TEST_F_VOL_TEST;
-	if (expr->args) {
-		/* another proxy was designated, we must look for it */
-		for (px = proxy; px; px = px->next)
-			if ((px->cap & PR_CAP_FE) && !strcmp(px->id, expr->args->data.str.str))
-				break;
-	}
-	if (!px)
-		return 0;
+	if (expr->args)
+		px = expr->args->data.prx;
 
 	temp_pattern.data.integer = read_freq_ctr(&px->fe_sess_per_sec);
 	return 1;
 }
 
 /* set temp integer to the number of concurrent connections on the frontend
- * Accepts either 0 or 1 argument. Argument is a string, other types will cause
+ * Accepts either 0 or 1 argument. Argument is a frontend, other types will cause
  * an undefined behaviour.
  */
 static int
@@ -538,14 +532,8 @@
 		  struct acl_expr *expr, struct acl_test *test)
 {
 	test->flags = ACL_TEST_F_VOL_TEST;
-	if (expr->args) {
-		/* another proxy was designated, we must look for it */
-		for (px = proxy; px; px = px->next)
-			if ((px->cap & PR_CAP_FE) && !strcmp(px->id, expr->args->data.str.str))
-				break;
-	}
-	if (!px)
-		return 0;
+	if (expr->args)
+		px = expr->args->data.prx;
 
 	temp_pattern.data.integer = px->feconn;
 	return 1;