(PUP-1749) Fix module_tool extract for non-gnu tar

This commit refactors how tar is called when the module tool extracts a downloaded archive so that it is compatible with generic Unix tar, and does not require GNU extensions. The commit allows the module tool to work out of the box on Solaris 10, without requiring access to the gtar command, and presumably this aspect of the module tool will now work with tar on other old-style unix platforms as well.

Submitting now to get it out of the way. I fully expect this will require some work if it is to be made merge-ready.

([PUP-1749](https://tickets.puppetlabs.com/browse/PUP-1749))