libarchive is troublesome too
base adjustments
Improved source.prepare() to handle .gz and and .bz2, better detect archives and urls