Support for pigz or other external gzip commands (Fix #351)

This adds support for alternative mechanisms to gzip files.
For example, you can use pigz or zopfli or other commands which may be faster/compress better.

It does *not* support compressing to things that have extensions other than .gz