Extract code to set isEmailReceipt in Contribution.completeOrder
This consolidates all the code in the completeOrder that determines whether or not to send an email receipt.
Note that
- testCompleteTransactionWithEmailReceiptInput tests that input is respected
- for events the event::sendMail function will not send unless it's configured for the event - which
explains our final default of TRUE (testCompleteTransactionWithParticipantRecord)
- testCompleteTransaction covers the back-office case which also defaults to true
- I figure the cost of reloading the value for contribution_recur is pretty cheap compared to the confusion of passing values around
- testpayLater covers contribution_page with is_email_receipt