Add support for decompressing of LZMA and XZ encoded files.

* Add support for LZMA and XZ file formats, using liblzma.
* LZMA doesn't have a header format, so go with the 'best' we can without getting complicated. Seems to work in my test files.
* Only tested on OSX so far.
* Unsure how you want to do potentially optional dependencies, but everything should be behind `HAVE_LZMA_H` guards.