codec: use the specified executor

Use the user specified executor when swapping out the ZMTP{10,20}Codec
for the ZMTPFraming{Encoder,Decoder} pair.
formatting
combine encoder and decoder in a duplex handler