Semaphore class

Initial semaphore class; no unit tests - dodgy fifo implementation?