Allow to return immediatly from queue.take() if there are no ready tasks

```
queue.take(0, 'q')     -- waits indefinitely
queue.take(0, 'q', -1) -- waits indefinitely
queue.take(0, 'q', 0)  -- returns immediately
queue.take(0, 'q', 1)  -- waits 1 second and returns
```