Implemented Semaphore/Mutex/Event-flags based on the new kernel transaction queue. The kernel code is now fully deterministic in that all critical sections are fixed-time in duration (Complexity of O(1) - previously implementation contained O(n) Critical sections). There's a tradeoff - the code is slightly more complex and a bit slower, but we spend far less time with interrupts disabled in total. Determinism wins out here.