process: redocumented the restoration of interrupt state in Semaphore, changed thread wakeup to not take place while the Semaphore's modification lock is held
process: in PerProcessorScheduler::sleep, release the given lock if we are going to handle an event instead.
kernel: fix logic errors in Spinlock and provide extra methods for various purposes
process: unwind recursive spinlocks in PerProcessorScheduler
build-etc: remove Doxygen directory from Sublime project file