Returns a Node with value or creates it as always root.
value
Node<T> root(T value) { var node = _allNodes[value] ??= Node.root(value, graph: this); return node; }