BUG: Help python csv engine read binary buffers
The file buffer given to read_csv could have been opened in
binary mode, but the python csv reader errors on binary buffers.

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

What does `Linux py37_np_dev` know that I don't? Made the requested changes. Do you want a rebase to squash? Is it normal for random unrelated errors to fail builds? Yes, we're debugging it still. Restarted azure. > this is hard to follow, can you just use BufferedIOBase here rather than no_close?

I figured this way was more general in case there were future issues discovered beyond just BufferedIOBase, but consider it done.
 Thanks @fiendish!