CRM-20413 fix to setting wrong payment_instrument_id, by passing responsibility to the processor.
This also reflects work towards allowing payment_instrument specific fields on the payment form - ie. check, credit_card_type, pan_truncation.
This idea is to finish the code allowing pay-later to be the manual payment processor indexed with a 0 on all payment forms, and have the
form render with appropriate fields. Note that I got this working on multiple forms, this commit reflects the smallest piece I could
break off that is complete within itself, and resolves an issue
I tested that it was still possible to enter checks on the offline contribution as well as membership & additional payment forms, and the
check number still shows up.
I also tested front end contribution credit card & pay later & front end event forms
17 files changed: