Make std::sync::semaphore() public

Semaphores are useful, and I assume it was just a mistake that they were not public. If they were intended to be private, ignore this pull request (and maybe remove semaphores from the public documentation?)