Implement DatetimeArray._from_sequence
Removes dependence of `DatetimeArray.__new__` on `DatetimeIndex`.  De-duplicated `DatetimeIndex.__new__`/`DatetimeArray.__new__`.

The contents of `DatetimeArray._from_sequence` are basically just moved from `DatetimeIndex.__new__`.  This is feasible because #23675 disentangled `to_datetime` from `DatetimeIndex.__new__`.

cc @TomAugspurger this is the last thing on my todo list for DTA/TDA.  LMK if I can be helpful with the composition transition.