ENH: GH34946 Check type of names argument to `read_csv`, `read_table`…

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

- ~~One test failed (TestTSPlot.test_ts_plot_with_tz) but it's not related to what I changed.~~
- ~~Does it need a whatsnew entry?~~
I used `is_list_like` to check the type which does not consider strings as lists, would that be a problem? 
In the tests whereever `names` argument was passed, it was a list. The doc kind of implies it expects a list too, but the type is specified as `array-like` which I don't think is accurate because a python list is a perfectly valid argument for that but it isn't `array-like`. Can you add a test for this? I think can go in pandas/tests/io/parser/test_common.py Will do Provided tests pass, lgtm thanks @MJafarMashhadi 