[Chronik] Add PubKey struct
Summary: PubKey is mostly intended as a struct to encapsulate the bytes of pubkeys and provide nice helper methods.
Test Plan: ninja check-crates
Reviewers: Fabien, #bitcoin_abc
Reviewed By: Fabien, #bitcoin_abc
Differential Revision: https://reviews.bitcoinabc.org/D13508