BUG: Call finalize in DataFrame.unstack
- [ ] closes #xxxx
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

This commit adds a step to call `__finalize__` in `DataFrame.unstack`, as motivated by #28283.  Adding this step also prevents needing a step to call `__finalize__` in `DataFrame.pivot` since `DataFrame.unstack` is called before returning, so the xfail for that test was removed as well.
thanks @mzeitlin11 