API: Make 'D' & offsets.Day always operate as calendar day instead of 24 Hour
From 2021-06-09 dev call, new discussion of https://github.com/pandas-dev/pandas/issues/22864

**Problem**:  Frequency string `'D'` and `pd.offsets.Day` can mean 24 hours or calendar day (23/24/25H) depending on the operation

**Original Settled Solution**: Deprecate all behavior where Frequency string `'D'` and `pd.offsets.Day` is a fixed 24 hours in favor of `"24H"`. A private `_Day` offset would be used where appropriate internally and swapped out once the deprecation is enforced.

(Note: I lost steam last time catching all the warnings issued in the testing suite given the above solution touches datetimes, timedeltas, offsets, methods, etc)

**Other Solutions**

1. Implement a new offset, e.g. `"'DayDST'"/pd.offsets.CalendarDay"`, that users can migrate to.
2. Deprecate `Tick`s (`Day` is a subclass) all together since they are redundant with `Timedelta`s

cc @pandas-dev/pandas-core 
