API/DEPR: reintroduce errors kwd in where, mask, deprecate inconsistent behaviors
- [ ] closes #xxxx
- [ ] tests added / passed
- [ ] 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
- [ ] whatsnew entry

xref #45190 which does the same thing for fillna

Lots of new code here, but most of it goes away once deprecations are enforced.

Many new paths here don't have test coverage.

Existing docstring says we accept "ignore", "raise", while this PR assumes "raise" and "coerce".  So this would need to be updated/deprecated.
I like this as along with the `.fillna` and *hopefully* `.astype` changes we get to a consistent place. this would be ok for 1.4 (as this is reversing a current deprecation). > hopefully .astype changes

AFAIK that's not on the horizon > this would be ok for 1.4 (as this is reversing a current deprecation).

i think we should reverse the current deprecation in 1.4 and do this (with appropriate tests) for 1.5 cool, pls rebase Mothballing while I try to sort out some of the kinks (and to clear the queue)
