ENH: add copy on write for df reorder_levels GH49473
- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [x] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.

Added copy-on-write to `df.reorder_levels()`.

Progress towards #49473 via [PyData pandas sprint](https://github.com/noatamir/pydata-global-sprints/issues/11).

Changed type hint because following the existing one caused an error.
Looks like there is a merge conflict. Could you resolve it? Hope this resolves it.
I think the issue was that I made two branches from main and submitted two PRs that added to the same file. After the first PR got merged into main, the second caused the conflict. Yep, thx. Thx @seljaks 