[chronik] add an optional checkpoint_height query parameters to the block-header endpoint
Summary:
Return a merkle root for all block hashes up to checkpoint_height, as well as the merkle branch of the queried block header up to root, deepest pairing first.
For the block headers range API, the additional merkle data is included only for the last header. A user can trivially check that the returned headers are a valid chain, then use the checkpoint merkle data to check that the last header is part of the checkpointed chain.
Depends on D16756
Test Plan:
ninja check-functional
Reviewers: #bitcoin_abc, tobias_ruck, Fabien
Reviewed By: #bitcoin_abc, tobias_ruck, Fabien
Subscribers: Fabien, tobias_ruck
Differential Revision: https://reviews.bitcoinabc.org/D16569