Adds Start as an additional vertex that is connected to all
vertices in UGraphIn. This can be used to create an
topological sort for a not connected graph. Start is before
any vertex in UGraphIn in the standard order of terms. No
vertex in UGraphIn can be a variable.
Can be used to order a not-connected graph as follows:
top_sort_unconnected(Graph, Vertices) :-
( top_sort(Graph, Vertices)
-> true
; connect_ugraph(Graph, Start, Connected),
top_sort(Connected, Ordered0),
Ordered0 = [Start|Vertices]
).