[Chronik] Protobuf & HTTP error response handling
Summary:
Add two structs:
- Protobuf, an extractor and response type for specific protobuf messages.
- ReportError, a newtype around Report, which can be turned into an HTTP response.
Also add chronik.proto (currently containing only Error) + prost protobuf building using build.rs.
Depends on D13203.
Test Plan: cargo test
Reviewers: Fabien, #bitcoin_abc
Reviewed By: Fabien, #bitcoin_abc
Differential Revision: https://reviews.bitcoinabc.org/D13204