Normally, the service is able to read Kafka messages faster than it is
able to deliver them to the client, which can cause memory to build up,
especially in cases where there are a lot of messages to be processed
and the client is notoriously slow. Therefore, build the backpressure
into sending the events. Concretely, do not attempt to read the next
message from Kafka before the current event has been flushed down to the
While we are at it, also promisify KafkaSSE properly, so that now most
methods return Promises.