API: Make 'D' & offsets.Day always operate as calendar day instead of 24 Hour
From the dev-chat https://github.com/pandas-dev/pandas/issues/22274#issuecomment-425211774 and a rehash of https://github.com/pandas-dev/pandas/issues/20633

Conclusion: 

- Make the offset alias `'D'` and `offsets.Day` always operate as a calendar day.

Technical implication:
* `Day` will need to subclass `DateOffset` instead of `Tick`

Operations that will change behavior (may be missing some):
1. `Day` arithmetic with Timestamp/DTI/datetime Series/DataFrame
2. `DatetimeIndex.shift`
3. Any use of `'D'` with Timedelta/TDI/timedelta Series/DataFrame
4. Tick arithmetic with `Day`

Deprecation Procedures (could use some input here)
1. None
2. None
3. `DeprecationWarning` that users should use `'24 H'` instead of `'D'` and allow users to use `'D'` for v0.24.0
4.  None

cc @pandas-dev/pandas-core 