Versioned metadata records and the immutable image they apply to.
crabka-metadata provides [MetadataRecord] (the versioned union
of topic / partition / broker registrations / topic deletions) and
[MetadataImage] (an immutable snapshot of the cluster's metadata).
The image is mutated only by [MetadataImage::apply] called from
the Raft state machine in crabka-raft. Everywhere else it's read
via shared references and Arc clones.
Applying controller records
use ;
use Uuid;
let mut image = new;
let topic_id = new_v4;
image.apply;
let topic = image.topic.expect;
assert_eq!;
Canonical quota entity keys
use canonicalize_entity;
let key = canonicalize_entity;
assert_eq!;
assert_eq!;