[chronik] add a block-headers endpoint
Summary:
This adds another endpoint to fetch a range of block headers.
The behavior is the same as the "blocks" endpoint wrt boundary checks:
- when the end height is more than the number of blocks in the active chain return less blocks than requested
- require 0 <= start_height <= end_height
- start_height and end_height are inclusive
Depends on D16508
Test Plan: ninja all check-all
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D16526