BUILD: memory: fix free_list pointer declaration again for atomic CAS

Commit ac6c880 ("BUILD: memory: fix pointer declaration for atomic CAS")
attemtped to fix a build warning affecting the lock-free version of the
pool allocator. But the fix tried to hide the cause instead of addressing
it, thus clang still complains about (void **) not matching (void ***).

The real solution is to declare free_list (void **) and not to use a cast.
Now this builds fine with gcc/clang with and without threads.

No backport is needed.
diff --git a/include/common/memory.h b/include/common/memory.h
index da96b82..5fde4bc 100644
--- a/include/common/memory.h
+++ b/include/common/memory.h
@@ -267,12 +267,12 @@
  */
 static inline void __pool_free(struct pool_head *pool, void *ptr)
 {
-	void *free_list = pool->free_list;
+	void **free_list = pool->free_list;
 
 	do {
 		*POOL_LINK(pool, ptr) = (void *)free_list;
 		__ha_barrier_store();
-	} while (!HA_ATOMIC_CAS(&pool->free_list, (void **)&free_list, ptr));
+	} while (!HA_ATOMIC_CAS(&pool->free_list, &free_list, ptr));
 	HA_ATOMIC_SUB(&pool->used, 1);
 }