ENH/BUG: support Categorical in to_panel reshaping (GH8704)

CLN: move block2d_to_blocknd support code to core/internal.py
TST/BUG: support Categorical reshaping via .unstack

closes #8704