Add xz support

Create a utility class for transparently handling multiple compression schemes. This is used by job.py for reading data, and by process-incoming to write it.

With this in place, we can easily swap out the desired compression scheme without affecting existing mapreduce jobs.
https://docs.python.org/dev/library/lzma.html says use the 'preset' argument to anything that creates a compressor, typically with an integer value 0-9 (default 6).

I'm happy to leave this as is, since it's clear we don't have much use for LZ compression above level 0.