Snappy compression

I added a snappy compression layer which should be pretty transparent to everything below it.  Data is compressed after Event serialization and before it is packed into a DatagramPacket.  Data is decompressed before Event serialization, after it is pulled out of a DatagramPacket.