Change the Peer/Codec API

Codec#decode must now return a third component, a boolean saying whether or not the message is completely decoded. This means that the message it returns no longer needs to respond to #partial?
Add a basic Codec that does simple framing