Nuance cancel options for processors.
This PR addresses an issue where we have insufficient nuance on processor capabilities for cancel.
There are 2 behaviours that we are trying to support with one capability
1) can this processor cope with us cancelling a recurring donation within CiviCRM
2) should we present the option of whether to or not to a user. This option is appropriate
when the processor manages the schedule (e.g Paypal) as the user may just be updating Civi to
match reality. However, for token driven processors it generally doesnt' apply.
This PR adds a new overridable capability - 'supportsOptionalCancelRecurring' which is the same as
supportsCancelRecurring by default. For the manual processor it is FALSE.
Call cancelRecurring for all cancels.
In almost all cases this will be no change as processors would have to implement the new-ish
doCancelRecurring themselves to have any change