Update of description of class.
Semaphore class: add exceptions and unit tests.