The SignPSBTInput function takes a PSBTInput, SignatureData, SigningProvider,
and other data necessary for signing. It fills the SignatureData with data from
the PSBTInput, retrieves the UTXO from the PSBTInput, signs and finalizes the
input if possible, and then extracts the results from the SignatureData and
puts them back into the PSBTInput.
This is a partial backport of Core PR13557 : https://github.com/bitcoin/bitcoin/pull/13557/commits/8b5ef2793748065727a9a2498805ae5b269dcb4f
Depends on D4286