CLN: create slice object instead of using :periods/periods:
BUG: fix shift indexer to work on correct axis length
TST: test that DataFrame.shift(axis='columns') works
ENH: Generalize shift to work with any N-dimensional block instead 1,2
CLN: Corrected Returns docstring