MINOR: threads: add more consistency between certain variables in no-thread case

When threads are disabled, some variables such as tid and tid_bit are
still checked everywhere, the MAX_THREADS_MASK macro is ~0UL while
MAX_THREADS is 1, and the all_threads_mask variable is replaced with a
macro forced to zero. The compiler cannot optimize away all this code
involving checks on tid and tid_bit, and we end up in special cases
where all_threads_mask has to be specifically tested for being zero or
not. It is not even certain the code paths are always equivalent when
testing without threads and with nbthread 1.

Let's change this to make sure we always present a single thread when
threads are disabled, and have the relevant values declared as constants
so that the compiler can optimize all the tests away. Now we have
MAX_THREADS_MASK set to 1, all_threads_mask set to 1, tid set to zero
and tid_bit set to 1. Doing just this has removed 4 kB of code in the
no-thread case.

A few checks for all_threads_mask==0 have been removed since it never
happens anymore.
diff --git a/src/cfgparse.c b/src/cfgparse.c
index 5abe9fa..1451243 100644
--- a/src/cfgparse.c
+++ b/src/cfgparse.c
@@ -7587,11 +7587,11 @@
 				nbproc = my_ffsl(bind_conf->bind_proc);
 
 			mask = bind_conf->bind_thread[nbproc - 1];
-			if (mask && !(mask & (all_threads_mask ? all_threads_mask : 1UL))) {
+			if (mask && !(mask & all_threads_mask)) {
 				unsigned long new_mask = 0;
 
 				while (mask) {
-					new_mask |= mask & (all_threads_mask ? all_threads_mask : 1UL);
+					new_mask |= mask & all_threads_mask;
 					mask >>= global.nbthread;
 				}