pipelined pluggable ZMTP consumer

This will let us plug in an application level protocol decoder directly
into the message parser, eliminating the need to set up the ZMTPMessage
and ZMTPFrame data structures and all accompanying ByteBuf's,
potentially avoiding a lot of garbage and busy-work.

A consumer that builds ZMTPIncomingMessage instances is provided as a
default when a consumer is not provided by the user. This
ZMTPIncomingMesssageProducer is more or less just the equivalent logic
factored out of ZMTPMessageParser.