BUG: pandas.to_datetime raises exception when more than 50 values needs coercion to NaT (#43732)
- [x] closes #43732 
- [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

can you write a test Constructing an Index from a value that will resolve to NaT causes an error, but I'm not sure if this is by design.
```py
import datetime
import pytz
import pandas as pd

# t is a date after 2262 that should be coerced into NaT
t = datetime.datetime(3000, 1, 1, 0, 0, 0, 0, pytz.UTC)
print(pd.Index([t], tz="utc")) # pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 3000-01-01 00:00:00
``` > Constructing an Index from a value that will resolve to NaT causes an error, but I'm not sure if this is by design.
> 
> ```python
> import datetime
> import pytz
> import pandas as pd
> 
> # t is a date after 2262 that should be coerced into NaT
> t = datetime.datetime(3000, 1, 1, 0, 0, 0, 0, pytz.UTC)
> print(pd.Index([t], tz="utc")) # pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 3000-01-01 00:00:00
> ```

this is expected, it is an out of bounds date. @jbrockmendel we wrote some tests, is there anything else we need to do? pls merge master, but tests seem to be failing pls merge master, but tests seem to be failing is worthwhile but needs to be passing (and pls merge master) would welcome this change but its stale. pls ping if you want to continue.