BUG: to_records() fails for MultiIndex DF (#21064)
- [x] closes #21064
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

This fixes the bug that prevents using `to_records` on an empty dataframe that has a MultiIndex

`self.index.values` returns an empty array (no tuples) for an empty MultiIndex DF and that would be used for `ix_values`. Instead, `ix_values should have an array of empty arrays, each one with the correct dtype according to the MultiIndex level/column.