Make polynomials use Idempotence of the semiring

I've also added a static assertion so that we never use a non-commutative semiring with a commutative polynomial.