fix(payments-cart): prevent crash when previewing a redeemed promo code
Because: - Checkout redeemed promotion code, and Stripe can reject it when previewing invoice - getCart then threw once the cart's subscription existed, crashing the page This commit: - Adds previewUpcomingForCart to CartService for getCart's invoice previews - Previews active cart subscription instead of resending coupon code - Uses latest invoices for incomplete/canceled cart subscriptions - Updates tests for each subscription state for getCart Closes: PAY-3933