Split DecodePSBT into Base64 and Raw versions
Summary:
Split up DecodePSBT, which both decodes base64 and then deserializes a PartiallySignedTransaction, into two functions: DecodeBase64PSBT, which retains the old behavior, and DecodeRawPSBT, which only performs the deserialization. Add a test for base64 decoding failure.
Partial backport of core PR14978:
https://github.com/bitcoin/bitcoin/pull/14978/commits/c734aaa15d924470cec0f17b00ad2e47472b471f
Depends on D5736.
Test Plan:
ninja all check check-functional
Reviewers: #bitcoin_abc, deadalnix
Reviewed By: #bitcoin_abc, deadalnix
Differential Revision: https://reviews.bitcoinabc.org/D5737