NodeId
An opaque handle identifying one node within a Unit.
IDs compare equal and hash by identity, so they work as dict keys and as a
way to recognize a node reached by more than one route. An ID from one unit
never matches a node in another: Unit.node returns nil
rather than a foreign node.