sb-concurrency: GATE tweak, fix building without threads
* OPEN-GATE wasn't interrupt-safe. Don't want to have an interrupt unwind
after opening the gate but before broadcasting on the condition variable.
* Disable tests needing threads on unithread builds, add one that
doesn't need threads.
Also: many thanks to Tobias Rittweiler on whose code the GATE implementation