Replace boolean definition with C23 bool
Completely fixes all of the C23 related compilation errors instead of only fixing GCC15 like !2707 (merged) did but is a more invasive solution in comparison.
Uses C23's native bool type when available and <stdbool.h>
otherwise for backwards compat.
(Note: the oldstable pipeline script appears to be broken atm, so I can't do anything about that one failing.)