Undirected edge removal now works

Typing is hard.
Fix deletion bug when deleting root node
100% code coverage of DirectedGraph interface