Add allow_sets-kwarg to is_list_like
- [x] closes ~~#23009~~ #23061 
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

This is an attempt responding to https://github.com/pandas-dev/pandas/pull/22486#issuecomment-428159769:
> @h-vetinari why don't you try (separate PR) excluding set from is_list_like and see what the implications of that are.

Following some initial discussion in #23061, I decided to go with a variant that does not break anything - i.e. adding a keyword which defaults to the current behaviour. I've added a warning that's only raised if necessary, to note that this behaviour will be changed in the future -- regardless of whether it is deprecated or not, I think that users *as well as developers* should have to actively choose to include unordered sets (reason i.a. for #23009, and probably some more).

The tedious part of this PR was hunting down all the internal uses of `is_list_like` and adding the kwarg there to avoid raising the warning. Hope I didn't miss any.
