Fix virutal buffer::xio_msg_buffer destruction.

It was not sufficient to override operator delete in the
xio_msg_buffer, this did not handle deletion of raw buffers
via (e.g.) buffer::ptr.

In addition, since XioMessenger does not require explicit CRC
and because std::map is expensive, move the CRC machinery from
buffer::raw to a new descendent buffer:raw_crc.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>