MINOR: initcall: use initcalls for most post_{check,deinit} and per_thread*

Most calls to hap_register_post_check(), hap_register_post_deinit(),
hap_register_per_thread_init(), hap_register_per_thread_deinit() can
be done using initcalls and will not require a constructor anymore.
Let's create a set of simplified macros for this, called respectively
REGISTER_POST_CHECK, REGISTER_POST_DEINIT, REGISTER_PER_THREAD_INIT,
and REGISTER_PER_THREAD_DEINIT.

Some files were not modified because they wouldn't benefit from this
or because they conditionally register (e.g. the pollers).
diff --git a/src/fd.c b/src/fd.c
index c467489..a787a09 100644
--- a/src/fd.c
+++ b/src/fd.c
@@ -526,8 +526,6 @@
 
 	fd_cache.first = fd_cache.last = -1;
 	update_list.first = update_list.last = -1;
-	hap_register_per_thread_init(init_pollers_per_thread);
-	hap_register_per_thread_deinit(deinit_pollers_per_thread);
 
 	for (p = 0; p < global.maxsock; p++) {
 		HA_SPIN_INIT(&fdtab[p].lock);
@@ -667,6 +665,9 @@
 	return 1;
 }
 
+REGISTER_PER_THREAD_INIT(init_pollers_per_thread);
+REGISTER_PER_THREAD_DEINIT(deinit_pollers_per_thread);
+
 /*
  * Local variables:
  *  c-indent-level: 8