[wallet] Get rid of CWalletTx default constructor
Summary:
No change in behavior in the normal case. But buggy mapWallet lookups
with invalid txids will now throw exceptions instead of inserting dummy
entries into the map, and potentially causing segfaults and other
failures.
This also makes it a compiler error to use the mapWallet[hash] syntax
which could create dummy entries.
Partial backport of core PR9680 (commit b4bc32a)
Depends on D2618
Completes T517
Test Plan:
make check
Reviewers: #bitcoin_abc, deadalnix, jasonbcox
Reviewed By: #bitcoin_abc, jasonbcox
Subscribers: jasonbcox, teamcity, schancel
Differential Revision: https://reviews.bitcoinabc.org/D2619