TST: port maybe_promote tests from #23982
Not all of them, but whittling them down.

The tests are copied almost verbatim.  The only change is updating the datetime64/timedelta64 expected results to be datetime64/timedelta64 instead of iNaT.
how many xfails does this add? 135.  That'll get whittled down pretty quickly in follow-ups, but I don't want to mix-and-match porting these with fixing them k thanks