[CLN] call __finalize__ in quantile
- [x] [Tests added and passed]
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).

In reference to #28283, this PR intends to ensure that `__finalize__` is always called before returning the result of `DataFrame.quantile`.

This was already the case though, because `__finalize__` is already called explicitly wherever necessary. Furthermore, my previous PR #46101 fixed the remaining problem with metadata propagation in `quantile` as that was caused by `.iloc`.

There remained one return statement with no call to finalize. This code is unreachable though and now removed. The check `if is_list_like(q):` is guaranteed to be true because a few lines up `q = Index(...)` and `Index` is list-like.

Additionally, I have added one more test to increase the coverage of the finalize tests in quantile.

(In case I am wrong and `Index` is not guaranteed to always be list-like, I'll add this code back and add the missing finalize call instead.)
Thanks @theOehrly (failure was unrelated)