Changes acquire of the putlock semaphore to be non-blocking.
Changes acquire of the putlock semaphore to be non-blocking.

This so that the main thread is unlocked at shutdown,
even if there are no more threads alive to release it.

Closes #523.

comment by @ask:
  Doesn't use Condition.acquire(timeout) because,
  that wakes up _very_ frequently: 500 µs (0.0005 s.) at best,
  and 0.05s at best.  Since this is only applicable at shutdown
  we don't need this kind of responsiveness, as shutdown is
  already delayed by at least 1 second anyway.

cbrepo/celery,ask/celery,cbrepo/celery,ask/celery