ENH: Read from compressed data sources
This is the start of an effort to address compression in `read_*` methods (at the moment, just `read_pickle`, as per #11666. So far, I've factored out the compression handling in the `_read` function of `pandas.io.parsers` and used that in the pickling read routine.

Tests on the way, along with actual testing that it works, docs and (if we want), I can also put something similar in the other `read_*` methods too.

needs some tests
 can you add some tests and upate
 @khs26 can you update
 @khs26 can you update
 closing but pls reopen if you wish to continue working
