Fix the Risch algorithm for the new sparse polys

Changes from the new polys in the cancellation algorithm (and possibly also or
rather the subresultant algorithm) required us to ensure that a denominator in
residue_reduce() be monic (the issue was that the denominator *only* was being
manipulated, and Bronstein probably is implicitly assuming that f=a/d means
that d is monic).

This lead to one small test change, which is still mathematically correct,
though less nice (but it doesn't matter, because it is from
residue_reduce(invert=False), which is never used, invert=True still gives the
nicest result).

See pull request #2126 for more discussion on this.