[Chronik] Add BitcoinSer and BitcoinSerializer
Summary:
BitcoinSer is implemented by structs to serialize them. BitcoinSerializer is implemented to define how the serialization should be performed, e.g. BytesMut appends the bytes, and usize accumulates the length of the data.
Depends on D13831.
Test Plan: ninja check-crates
Reviewers: Fabien, #bitcoin_abc
Reviewed By: Fabien, #bitcoin_abc
Differential Revision: https://reviews.bitcoinabc.org/D13832