added tar.xz support

I wanted to build glib with hashdist, and glib is distributed only as tar.xz (http://ftp.acc.umu.se/pub/gnome/sources/glib/2.37/).

This patch adds tar.xz support that is compatible with Python 2. You'll need lzma module for it to work. The part I don't like is that file is uncompressed in memory, but creating a LZMA fileobj for archive file might require more intrusive change - currently unpack() is given only a stream and LZMA wants a file name.