sort quadratic and binomial roots; reverse (don't sort) roots in inequality handler

fixes #8235 - now that the roots are sorted, no additional sorting needs to be done
fixes #8255 - this fixes sorting of quadratic and binomial roots. No other private (i.e. not @public) routines are modified. These two are given special attention because the order of the returned roots needs to agree with RootOf instances because these routines are called from `_roots_trivial`. Roots are not sorted in `_roots_trivial` because it is much more efficient to do so at the point of calculation.

This is an alternative to #8256 .

Some other minor code modifications were made in the process and are also included as discrete commits.