Resolved "stale tasks" issue

In previous commits, consumer tasks would live for ever in the queue, even if expired.
From now on, the request payload is stored in an expiring redis key, and the queue
only contains the reference task_id to find that payload. If the payload key no longer exists
its a request that timed out and should not be processed

QueueConfig objects now have a "get_timeout" method, setting the request and response keys timeouts