refactor(storage): type-safe access to single fields of peer
Every field of Peer now has a corresponding unit struct defined in the
peer_field
module, which implements the PeerFieldDef
trait which in
turn contains information about the field's name, tarantool type and
rust type.
This information currently is used in the field_by_raft_id
method
and is generated by the define_peer_fields
macro, which also
automates the generation of the format (peer_format
function) for the
"raft_group" space.