Fix product folds

Products of folds previously had different problems with left and right folds, some multiplying like they were written for compose-of-folds instead of product, or just ignoring one side of the pair.  They're all demonstrated by failures in the tests included.

This should be a candidate for backporting to 7.0.x.