Remove unfold and adjust codec api

Like proposed in #1129 this pull-request remove folding completely and change the *MessageEncoder.encode(..) and *MessageDecoder.decode(..) method to take the output MessageBuf as parameter and remove the return type.

Also this pull-req make the error handling more consistent. Before some abstract decoder classes used ctx.fireExceptionCaught(...) on exception which was bad as this meant that the implementation itself could never catch it.