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 changing that might require more intrusive change.