Make MessageList recyclable and recycle it wherever possible

TODO: Remove the hack I used to reduce MessageList creation in the codec framework and some other places