[unpack] Support simple .tar archives, extract .tar.gz

PE archives can be both simple tar archives as well as gzipped archives.
This commit extracts the pure tar archive handling into a standalone
class, and adds a tar.gz class for gzipped archives.
[archive] .tar and .tar.gz from installer_dir name

This isn't sustainable in a long term manner, but gets us to the next
release. I am ashamed.
Merge branch 'pure-tar-unpacker'