red-black tree: add conditional compilation code

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
red-black tree: fix regression in 807382b70001d5

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
red-black tree: use list of NIL nodes for reuse

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>
thorium: disable message multiplexer

Before

./scripts/performance/improve-latency.sh
5%: 20933, 25%: 38734, 30%: 42625, 40%: 48601, 50%: 53269, 60%: 58218, 70%: 62923, 75%: 65718, 95%: 87784
5%: 20375, 25%: 38163, 30%: 42552, 40%: 48734, 50%: 53411, 60%: 58046, 70%: 62450, 75%: 65183, 95%: 87912
5%: 19331, 25%: 34316, 30%: 40608, 40%: 46099, 50%: 50098, 60%: 53978, 70%: 58420, 75%: 60995, 95%: 79904
5%: 19419, 25%: 34633, 30%: 40149, 40%: 45941, 50%: 49807, 60%: 53560, 70%: 57897, 75%: 60376, 95%: 79071

./scripts/assembly_debugging/spate-saureus-fasta-gz-4x8.sh
4m48.768s

After

./scripts/performance/improve-latency.sh
5%: 18830, 25%: 26490, 30%: 29036, 40%: 32312, 50%: 34356, 60%: 36668, 70%: 39269, 75%: 40418, 95%: 48153
5%: 19416, 25%: 27389, 30%: 29556, 40%: 32643, 50%: 35521, 60%: 38098, 70%: 40442, 75%: 41613, 95%: 49839
5%: 19450, 25%: 27490, 30%: 29545, 40%: 32615, 50%: 35585, 60%: 38108, 70%: 40495, 75%: 41691, 95%: 49904
5%: 19565, 25%: 28648, 30%: 30540, 40%: 33424, 50%: 36053, 60%: 38547, 70%: 41002, 75%: 42245, 95%: 50449

./scripts/assembly_debugging/spate-saureus-fasta-gz-4x8.sh
2m58.305s

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>