REF: move shift logic from BlockManager to DataFrame
Partially-fixes one of the currently-disabled ArrayManager tests.
I don't know if it's a particularly useful benchmark, but there is a big slowdown potentially related to this PR: https://pandas.pydata.org/speed/pandas/#frame_methods.Shift.time_shift?python=3.8&Cython=0.29.21&p-axis=1&commits=05a0e98a-bc62e768 best guess is its bc a consolidate is being done by concat, which is called 2x.  easy-ish workaround will be available following #38939 I opened an issue to track my above comment -> https://github.com/pandas-dev/pandas/issues/42246