Why:
* To prevent archives such as archive.rar.gz from breaking patool.
This change addresses the need by:
* move program_supports_compression above the `import util` line
* If we don't do this, we have a circular import.
* Import program_supports_compression into util.
* Only return separate mime and encoding if program_support_compression
returns True.
* Otherwise return the mime of the encoding and no encoding.
* Add fixes so that current tests still pass.
* In program_support_compression:
- Test tar separately and check all supported tar wrappers.
* In test_tar:
- Add file requirement for compress in the compress check.
- Otherwise tar tries and failes when compress isn't installed.