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.

replacing #4783

@y-p this look okay to you now?
 You already have a +1, what more do you want, blood? :)
 reopened #3963. bad +1 by me
