Add binary operators directly to Term and Polynomial.

This moves much of the polynomial logic into Polynomial itself. It
adds generalized Ring[Polynomial[C]] and EuclideanRing[Polynomial[C]]
instances. And it simplifies a few other things.