GuardMgr: decouple NetDir from guards and sample code.
This branch introduces a new crate-internal trait, Universe, implemented by NetDir. It exposes only the functionality needed so that guards can be built and updated from a NetDir.
This decoupling will allow us to also implement Universe for BridgeDescList or such.