Interface message deallocation

- Extend the FairMQ transport interface by allowing the user of the FairMQMessage class to define his own deallocation function. This function will be called when the transport machanism no longer needs the data.

- Use this extension with Protobuf  to enable more efficient transport, avoiding memcpy.