Use less space in hashmaps to store Microdescs and RouterDescs
The hashmaps in NetDir
and in MdConsensus
have values much larger than their keys: that wastes unnecessary space in comparison to an equivalent implementation in which the values are stored in Box<>es (or in a slab allocator or something).
(To confirm this effect for yourself, use your favorite allocation-measurement tool to see how much RAM is needed for HashMap::<String,[u8;4096]>::with_capacity(1024)
vs HashMap::<String,Box<[u8;4096]>::with_capacity(1024)
)