Check that PSBT keys are the correct length
Summary:
Checks that all of the one byte type keys are actually one byte and
throw an error if they are not.
Add tests for each type to check for this behavior.
This is a partial backport of Core PR13721 : https://github.com/bitcoin/bitcoin/pull/13721/commits/41df035ee1694715ee1e0f89b08ac8c73987807b
Depends on D4454
Test Plan:
make check ./test/functional/test_runner.py
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Differential Revision: https://reviews.bitcoinabc.org/D4456