Issue #57: Add a blocking=False option to the Semaphore lock object.