blockfilter: add block filters
Summary:
Part of BIP158, this is made from last backports from PR 12254:
97b64d67d blockfilter: Unit test against BIP 158 test vectors.
a4afb9cad blockfilter: Additional helper methods to compute hash and header.
cd09c7925 blockfilter: Serialization methods on BlockFilter.
c1855f605 blockfilter: Construction of basic block filters.
plus a fix from PR 14073:
f05599557 blockfilter: Omit empty scripts from filter contents.
Two test cases containing segwit coinbase transactions were removed from
blockfilter_tests.json due to their failing to parse, and inapplicability.
Test Plan: make check
Reviewers: #bitcoin_abc, deadalnix, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Maniphest Tasks: T589
Differential Revision: https://reviews.bitcoinabc.org/D2867