removeVertex(value) {
    const current = this.nodes.get(value); // <1>
    if (current) {
      Array.from(this.nodes.values()).forEach((node) => node.removeAdjacent(current)); // <2>
    }
    return this.nodes.delete(value); // <3>
  }
Removes node from graph
It also removes the reference of the deleted node from
 anywhere it was adjacent to.
Runtime: O(|V|) because adjacency list is implemented with a HashSet.
It were implemented with an array then it would be O(|V| + |E|).
@param {any} value node's value