Benchmark: refactors Dep_graph with better graph types for auto-build
Solver:
Determine the free variables introduced by workload applications to
be dependencies. It makes the solver less ambiguous.
Graphviz:
Fixed node names for free variables to avoid name clashes with benchmarks
Graph:
Build now returns 2 graphs: one is with ambiguities.
The other is without them, resolving by heuristics. This is left for
compatibility: this resolution is NOT actually safe and should be
removed in future.
Note that this depends on !7887 (merged)