This depends on a tar version in the chroot that supports xz archives.
The code has been restructured such that we don't play guessing games
based on the magic number in the file header anmore, and just go by
extension. Also, since all this extraction business is only relevant to
file sources, move it into the files plugin instead of cluttering e2lib.
To be clear, this change removes the questionable feature of detecting
that a .tar.bz2 tarball was really a .tar.gz and will instead return an
error message by he way of tar failing.