[core] Stop any tornado instance when finishing.
[worker_manager] Avoid deadlock when poisoning idle worker.

When WorkerManager poisons its workers, it adds a dead pill in the poison_q
Queue.
But if a worker is waiting for a job to do, it calls Queue.get on input_q
Queue. By default, this method blocks until an item is available. Therefore the
worker will never check the dead pill if no job is available.

This commit change the way a worker is caller Queue.get by defining a time out
value that forces the worker to check each 2 seconds the poison queue.