MINOR: pattern: make the delete and prune functions more generic

Now we have a single prune() function to act on an expression, and one
delete function for the lists and one for the trees. The presence of a
pointer in the lists is enough to warrant a free, and we rely on the
PAT_SF_REGFREE flag to decide whether to free using free() or regfree().
diff --git a/src/http_acl.c b/src/http_acl.c
index a81fb03..d4a0e46 100644
--- a/src/http_acl.c
+++ b/src/http_acl.c
@@ -121,8 +121,8 @@
 	 * and match method are related to the corresponding fetch methods. This
 	 * is very particular ACL declaration mode.
 	 */
-	{ "http_auth_group", NULL,       PAT_MATCH_STR, NULL,  pat_idx_list_str, pat_del_list_ptr, NULL, pat_match_auth },
-	{ "method",          NULL,       PAT_MATCH_STR, pat_parse_meth, pat_idx_list_str, pat_del_list_ptr, NULL, pat_match_meth },
+	{ "http_auth_group", NULL,       PAT_MATCH_STR, NULL,  pat_idx_list_str, pat_del_list_gen, NULL, pat_match_auth },
+	{ "method",          NULL,       PAT_MATCH_STR, pat_parse_meth, pat_idx_list_str, pat_del_list_gen, NULL, pat_match_meth },
 
 	{ "path",            "path",     PAT_MATCH_STR },
 	{ "path_beg",        "path",     PAT_MATCH_BEG },