DEPR: downcast kwd in fillna
- [x] closes #40988
- [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
- [ ] whatsnew entry

I'm on the fence about this.  `downcast="infer"` seems pretty useful, as evidenced by how often it shows up in the tests.  We don't have anything analogous to `infer_objects` for "see if i can losslessly downcast numeric values".

If we go forward with this, probably need to deprecate within NDFrame.interpolate too, as apparently some but not all interpolate paths see this deprecation.
> i'm on the fence about this. downcast="infer" seems pretty useful, as evidenced by how often it shows up in the tests

this was intended original to be a performance hit avoider, e.g. if the fillna ended up in object dtype we would automatically try to reconvert. but this seems silly as we do this elsewhere. so +1 on deprecating.

it was never intended to be a numeric downcaster (nor should it), we have to_numeric for that and it need to be explict Mothballing pending re-thinking.