Added line decoding before sniffing at PythonParser#_make_reader
Fixes issue when reading CSV from unencoded IO stream (i.e. WSGI request body). CSV sniffer uses regexp internally and crashes with `TypeError: cannot use a string pattern on a bytes-like object`.
This change fixes the issue. Better way, however would be to add proper encoding support to `csv.Sniffer()`.

- [ ] closes #xxxx
- [ ] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

Teasts are failing, and for good. Does anyone have an idea how to fix it? I'm not very fulent in python...
Seems like we have to check `line` type and only attempt decosing if it's not a string (or if it's easier to detect - if it's a `bytes-like object`). @MOZGIII : That seems like a plan to check for `line` type.  However, you say that adding support for encodings in `csv.Sniffer()` would be preferable.  That would be a `Python` language issue, not a `pandas` issue then.  Do you think modifying `pandas` is preferable to this? @MOZGIII : Can you also add a test that replicates the error you describe above? @gfyoung I don't know where and how to put tests, but seems like using `io.BytesIO` as input would trigger this error...
I'm not sure yet, but seems like changing it in python would change the interface, and therefore can probably be very slow to deliver. Also, this here is nontheless a bug of pandas implemetation - so it should be definetly fixed here anyway. @MOZGIII : But you should have an example that reproduces this error?  Don't worry about the location of the test.  Just provide an example here. What's the problem with requiring users to wrap a byte stream in a text wrapper in this case? @TomAugspurger it seems to be a valid workaround for this bug. I'm currently using wrapping the input in a `io.StringIO`. But pandas provides the API which is broken, that's a bug. Python, by the way, just doesn't provide an API (I'm talikng about encoding support in `csv.Sniffer()`) - and that and architectureal problem, but not a bug.

@gfyoung ok, I'll try to produce an example now. @gfyoung I can't reproduce a bug with `io.BytesIO`. In the real world I have data from POST request body of `gunicorn` server. Out of time for this issue for now, but I'll continue on producing the example and provide it later. closing. if you have an example which repros, pls post here (or better yet create a new issue).