serializing sort of works and split out packet contents and header

the serialization for each is now separated cleanly, to aid better for
our "should we compress or not" logic.
return a full string with both header and contents in ::serialize
new & improved serialization works now, no compression just yet
add compressed/uncompressed flags to packets
almost implement deserialization for compressed packet contents
set compressed bool on the packet header

presently nothing uses it, however.
prepare serialization for compression
add some debug statements and make it clear that deserialization is broken

specifically, decompressing. and i'm not even compressing yet, just
acting like i am. has to do with the different streams and how i want
just the goods after the header, etc..
compression/decompression should in theory, work. now time to implement it
wow, i'm pretty sure compression is working. the game runs, at least

haven't tested compression rates or validity.
cleanup and doc fixes
go back to using uncompressed as default and make separate compressed functions

e.g. sendPacketCompressed.

it is not yet used
set initial world chunk, following chunks and inventory to be compressed
fix packet api to make the compression be more of a request, not a guarantee

if the message contents is smaller than some value i pulled out of my ass,
then we shouldn't bother trying to compress because it'll just result in
a negative yield anyways.