Handle labels on edges.
Improve handling of strongly connected components.
Implement isCyclic and isStratified functions.
Add a controlling strategy to be used during the creation of the dependency graph.
Add a template parameter to the dependency graph class which allows to choose the controlling strategy (default NoStrategy).
Implement a method to check HCF property (by traversing disjunctive rule heads added to the graph).