ENH: Allow keep="all" in duplicated method (#23251)
- [ ] closes #23251
- [ ] tests added / passed
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

Unfortunately this didn't end up being as clean as I had hoped (due to preventing keep="all" being allowed when calling implicitly through drop_duplicates. So put in a bit of duplication of error handling. Happy to take suggestions if there's a better approach.
Hello @svenharris! Thanks for submitting the PR.

 - There are no PEP8 issues in the file [`pandas/core/algorithms.py`](https://github.com/svenharris/pandas/blob/ddfebd42eaf7d13e9e54566e4872a7851278ebe6/pandas/core/algorithms.py) !

 - There are no PEP8 issues in the file [`pandas/core/base.py`](https://github.com/svenharris/pandas/blob/ddfebd42eaf7d13e9e54566e4872a7851278ebe6/pandas/core/base.py) !

 - There are no PEP8 issues in the file [`pandas/core/frame.py`](https://github.com/svenharris/pandas/blob/ddfebd42eaf7d13e9e54566e4872a7851278ebe6/pandas/core/frame.py) !

 - There are no PEP8 issues in the file [`pandas/core/indexes/base.py`](https://github.com/svenharris/pandas/blob/ddfebd42eaf7d13e9e54566e4872a7851278ebe6/pandas/core/indexes/base.py) !

 - There are no PEP8 issues in the file [`pandas/core/series.py`](https://github.com/svenharris/pandas/blob/ddfebd42eaf7d13e9e54566e4872a7851278ebe6/pandas/core/series.py) !

 - There are no PEP8 issues in the file [`pandas/tests/frame/test_duplicates.py`](https://github.com/svenharris/pandas/blob/ddfebd42eaf7d13e9e54566e4872a7851278ebe6/pandas/tests/frame/test_duplicates.py) !

 - There are no PEP8 issues in the file [`pandas/tests/indexes/multi/test_duplicates.py`](https://github.com/svenharris/pandas/blob/ddfebd42eaf7d13e9e54566e4872a7851278ebe6/pandas/tests/indexes/multi/test_duplicates.py) !

 - There are no PEP8 issues in the file [`pandas/tests/series/test_duplicates.py`](https://github.com/svenharris/pandas/blob/ddfebd42eaf7d13e9e54566e4872a7851278ebe6/pandas/tests/series/test_duplicates.py) !

 closing as stale. if you'd like to continue, pls ping. Will come back to this if I (or anyone else) thinks of a good idea for the design but there wasn't consensus in the discussion what the change should look like