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.
Ok, if it's as easy as setting the 'preset' argument, we might as well make it configurable and default to 0 (or 1, which appears to be nearly as fast).