BUG: DTI/TDI/PI `where` accepting non-matching dtypes
This bug was hidden by _ensure_datetimelike_to_i8, and the only other place where that is used is in _round.  _round is clearer without using it, so ensure_datetimelike_to_i8 gets ripped out, and with it we can get rid of _ensure_localized.
thanks @jbrockmendel 

love the code cleanups!