Add a new kernel compile debugging option, DEBUG_CRIT_SECTIONS. This fairly
invasive debugging option compiles matching code into the critical section
inlines and reports mismatches at run-time. It is used to detect
missing/forgotten crit_exit() calls.
Note that because there are a number of places where critical sections are
manipulated outside the procedures that entered them, this code will
generate a number of false hits and should only be used under the direction
of experienced developers.
Note that the thread structure will be extended by this option.