DEPR: Deprecate set and dict as indexers
- [x] closes #42825
- [x] tests added / passed
- [x] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit) for how to run them
- [x] whatsnew entry

- ``DataFrame.__setitem__`` does not work for unhashable object
- ``iloc`` does not work for unhashable objects for __getitem__ and __setitem__
Not 100% sure, but wanted to add explicit checks as followups to raise a controlled error. Something we can reuse for the deprecated cases. > Not 100% sure, but wanted to add explicit checks as followups to raise a controlled error. Something we can reuse for the deprecated cases.

sgtm thanks @phofl 