BUG: cut/qcut on Series with "retbins" (GH8589)
Fixes #8589.

I centralized a bit of logic into tile.py's `_bins_to_cuts()` so that this change could be made in one place, hope that's okay.

thanks!

FYI, if you are interested in creating an `Interval` class would be gr8!

e.g. `(-1.5,0]` -> `Interval(left=(-1.5,'open),right=(0,'closed'))`

(which repr's to the above)!
