This fixes two deadlocks in Kafka engine found previously:
* When exception is thrown before starting reading, consumer
was never returned to the storage. Now it is claimed only
when actually starting reading.
* Fixed lockup on deinitialization when consumer only unsubscribed,
but didn't close, and the endine then timeouted when waiting for
consumer destruction.
This also moves the stream thread to background worker pool.
The reason for that is that it will compete with other tasks for
time, so it will form a backpressure on insertion when the system
is busy.