DEPR/API: disallow lists within list for set_index
- [x] one way to close #24046
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry
- [x] add deprecation warning & test it

I wanted to add this before the RC gets cut for two reasons.
On the one hand, the docs have silently deprecated arrays in `df.set_index` compare [master](https://pandas-docs.github.io/pandas-docs-travis/api/generated/pandas.DataFrame.set_index.html):
> **keys** : *label or list of label*
> >   Name or names of the columns that will be used as the index.

and [0.23.4](https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.DataFrame.set_index.html):
> **keys** : *column label or list of column labels / arrays*

This is IMO a breaking change. I'd wait for the outcome of the discussion of #24046, but I feel that could easily fall under the table before the RC, so I wanted to provide a worked-out implementation.

Equally importantly,  #22486 added capabilities for lots of list-likes *within* a list to `df.set_index`, and has not seen a release yet. Therefore, deprecation would be much easier now, than after `0.24.0rc`.

@jreback @TomAugspurger @jorisvandenbossche @toobaz @WillAyd 