BUG: Fix read_fwf with compressed files.

Fixes #3963.

`gzip` and `bz2` both now return `bytes` rather than `str` in Python 3, so
need to check for bytes and decode as necessary.