[MEDIUM] Fix memory freeing at exit, part 2

- free oldpids
- call free(exp->preg), not only regfree(exp->preg): req_exp, rsp_exp
- build a list of unique uri_auths and eventually free it
- prune_acl_cond/free for switching_rules
- add a callback pointer to free ptr from acl_pattern (used for regexs) and execute it

==1180== malloc/free: in use at exit: 0 bytes in 0 blocks.
==1180== malloc/free: 5,599 allocs, 5,599 frees, 4,220,556 bytes allocated.
==1180== All heap blocks were freed -- no leaks are possible.
diff --git a/include/common/uri_auth.h b/include/common/uri_auth.h
index fbbe7df..e52387c 100644
--- a/include/common/uri_auth.h
+++ b/include/common/uri_auth.h
@@ -42,6 +42,7 @@
 	int flags;			/* some flags describing the statistics page */
 	struct user_auth *users;	/* linked list of valid user:passwd couples */
 	struct stat_scope *scope;	/* linked list of authorized proxies */
+	struct uri_auth *next;		/* Used at deinit() to build a list of unique elements */
 };
 
 /* This is the default statistics URI */