Added code to make it possible to compress all outgoing data, a la MCCP

Also made sure all data that actually gets written to the socket is always
funneled through the WriteRaw function