ENH: Add equivalence test for float in to_numeric() GH43693
- [x] closes #43693 
- [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

This PR prevents issues where float64 arrays would be downcast to float32 arrays even if the values were out of range for float32. An equivalence check is performed to ensure all values are equal to 7 significant digits. If this fails, the original float64 is retained. This behavior is consistent with int where downcasting is not performed if the integer is out of bounds.

Pre Change:
```python
>>> pd.to_numeric(pd.Series([608202549.0]), downcast='float')
0    608202560.0
```
Post Change:
```python
>>> pd.to_numeric(pd.Series([608202549.0]), downcast='float')
0    608202549.0
```
This pull request is stale because it has been open for thirty days with no activity. Please update or respond to this comment if you're still interested in working on this. @jbencina can you move the note, this looks good @jreback Moved the change to V1.5.0. Not sure why this PR has trouble with the CI checks, but I don't think it's related to my code (eg. Azure timing out) thanks @jbencina 