updates for jrioux comments

- overload _eval_expand_basic, tests now call on Sum.expand()
- switched isdisjoint tests to empty intersections
- handle hints correctly in Sum._eval_expand_basic and Sum._eval_factor
- avoid Karr convention issue in test