19f2b24161
This greatly simplifies mid handling at the cost of increased subtlety around determining if a given mdir is an mroot. Fortunately it turns out we can rely on context to determine if an mdir is an mroot or not: 1. If an mdir's mid.bid == -1, it's an mroot. This is always true for fake mroots, since they can't hold any inlined mids. 2. If the mtree is inlined (mtree.weight == 0), all mdirs are mroots. This lets us use mid.bid=0 for inlined mids. We just need to check if the mtree is inlined before deciding if the mdir is an mroot or not. The makes it so that for any non-mroot mdir, mid.bid=-1 is always a reserved value. Which is very useful for compressed mids.