Documentation for Semaphore, Timer, Selector.
Renamed Semaphore.receive() to wait()
Can create Semaphore with initial value