Fixed Bugs in SimpleSemaphore; updated to allow for negative permit values