Performance fix of dependency analysis by pushing SortedSets down
Given that each call to _dfs may return a list, and the elements of those lists may occur multiple times, concatenating the various lists without removing double elements may lead to very quickly growing return values.
I've pushed the call to SortedSets()guaranteeing uniqueness of the elements, down into the method _dfs.
This puts an upper bound to the lenght of the returned value from _dfs, namely the total amount of available migrations.
This commit is a direct follow-up to #afaeac96a1fb Again, no tests to demonstrate the existing problem were created, but the old tests still run (and more quickly so).