KroneckerDelta is 0 or 1, thus any positive power returns itself.
Simplify Interval.as_relational().
Handle KroneckerDelta in summations and products.

Fixes issues 3481 and 3482.
Use solve only once on the system of equations.

Use solve only once on the system of equations, instead of calling
it for each equation.
Merge pull request #1697 from jrioux/concrete

KroneckerDelta in discrete summations and products