Enforce the use of TxId when constructing COutPoint
Summary:
OutPoint refer to previous transaction ids, and shouldn't accept any hash as input when constructed.
Depends on D3641, D3643, D3644, D3646 and D3645
Test Plan:
make check
Reviewers: #bitcoin_abc, jasonbcox
Reviewed By: #bitcoin_abc, jasonbcox
Subscribers: jasonbcox
Differential Revision: https://reviews.bitcoinabc.org/D3647