Make runner.fs.cat() decompress gzipped/bzipped data

cat() was always supposed to decompress `.gz` and `.bz2` files on-the-fly, but gzip didn't actually work on the Hadoop and S3 filesystems.

This fixes Issue #601 and replaces Pull Request #669.