New superclasses for Integral, Sum, Product

The new classes work for all associative ops between limits.
The classes enable factor, expand, subs fixes to Sum and Integral
Merge pull request #2198 from zanzibar7/expand_Sum

Superclass Sum, Product, and Integral, revise Integral.subs()