Idle slaves out even if no named queues used.

Previously the idle check was performed only in the named queue loop,
which effectively disabled the slave idling if no named queues were ever
used.
Use move semantics in message pumps.
Allow to decode streams partially.

This allows the decoder to break the processing if it already took too
much time.
Decode input stream in chunks.
Do not try to send empty buffers.
Enable TCP_NODELAY.
Cleanup.
Changelog bump.