Fix "One of parameters (value: ) is not of the type Integer" error when submitting a recurring contribution using the Stripe payment  processor.

The Stripe payment processor extension was not handling the case where a user
submits a recurring contribution without setting the number of installments.
This commit fixes that and also modifies the code that uses the recurring
contribution's end date to take ongoing recurring contributions into a
account.
Fix Stripe recurring payments remain Pending in CiviCRM.

This happens if a contact already has an active Stripe subscription due to a
previous recurring contribution that is not completed yet and if they create
a new recurring contribution and change only the amount, without changing the
frequency/installments, then Stripe will wait to charge the card until the
next installment is due. CiviCRM, expects the charge to be immediate, so the
first contribution does not get marked as Completed, and more importantly,
never appears in Stripe, since the card didn't actually get charged.

To correct this, we have to first cancel any existing active subscriptions
for that contact. Then, everything works correctly.