Give up on NOALLOCATE for unreliable buffer

Using NOALLOCATE was causing problems because ENet might send the packet
at any time... when the buffer is zero'd, for example.  Further, the
data had to be copied into a buffer anyway, so it's not like it saved a
copy besides.  At some point, I might be able to be careful enough to do
this, but not in the prototype phase.

Upgrade to CMPv3 so reading signed integers works as it should

Start checking return value of realloc in m_cbuf

Be a little more accepting of bad data