lnpeer: fix #8825
In maybe_fulfill_htlc, return two items: (preimage, (payment_key, callback)).
Rationale: The caller needs a payment_key only if we return a callback.
If we do not, the caller should use the payment_key that was previously
stored in channel.unfulfilled_htlcs
Note that for trampoline onions, payment_key may contain the inner
or outer secret.