Update default same product rule

Changes:

- allows the SameProduct rule to exchange an item for the same item
- filters out out-of-stock variants for the SameProduct rule