Overhaul importmulti logic
Summary:
This introduces various changes to the importmulti logic:
- Instead of processing input and importing things at the same time, first process all input data and verify it, so no changes are made in case of an error.
- Verify that no superfluous information is provided (no keys or scripts that don't contribute to solvability in particular).
- Add way more sanity checks, by means of descending into all involved scripts.
- Add release notes
This is a backport of Core PR14565
Test Plan:
ninja all check-all
Reviewers: #bitcoin_abc, majcosta
Reviewed By: #bitcoin_abc, majcosta
Subscribers: majcosta
Differential Revision: https://reviews.bitcoinabc.org/D6140