Methods for interacting with PSBT structs
Summary:
Added methods which move data to/from SignatureData objects to
PSBTInput and PSBTOutput objects.
Added sanity checks for PSBTs as a whole which are done immediately
after deserialization.
Added Merge methods to merge a PSBT into another one.
This is a partial backport of Core PR13557 : https://github.com/bitcoin/bitcoin/pull/13557/commits/e9d86a43ad8b1ab83b324e9a7a64c43a61337501
Depends on D4285
Test Plan: Unfortunately, The PR dump all the tests at once at the end, so there are no tests for the new code.
Reviewers: #bitcoin_abc, jasonbcox
Reviewed By: #bitcoin_abc, jasonbcox
Differential Revision: https://reviews.bitcoinabc.org/D4286