Fix semaphore usage
Fix semaphore usage

The semaphore should be passing the blocking argument to the
underlying lock that is used (so it is non-blocking as well) and
it should also be passing the timeout as well.

The non-blocking result should also not add a watch that will
later attempt to get the least (another call to acquire should be
used instead, or the blocking mode should be used instead).

bsanders/kazoo,AlexanderplUs/kazoo,kormat/kazoo,jacksontj/kazoo,bsanders/kazoo,python-zk/kazoo,tempbottle/kazoo,tempbottle/kazoo,jacksontj/kazoo,rgs1/kazoo,harlowja/kazoo,harlowja/kazoo,rockerbox/kazoo,AlexanderplUs/kazoo,pombredanne/kazoo,pombredanne/kazoo,python-zk/kazoo,rockerbox/kazoo,kormat/kazoo,rgs1/kazoo