Created by: toddreed
NSCondition suffers from the possibility of spurious wakeups and requires a predicate to guard against this; -waitUntilFinished did not do this. Changed implementation to used a semaphore (from libdispatch).
This fixes #134 (closed).