BUG/TST: Empty input arrays in cartesian_product and MultiIndex (#12258)
- [x] closes #12258
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

This commit:
1. fixes logic (and division by 0) in `cartesian_product` when some input arrays are empty
2. adds tests for MultiIndex empty level  construction with `.from_arrays` and `.from_product`
