Digraph for packages with proper "solving" based on dep graph depths

`solve` is run on the entire package graph. This `sort` function is run on all source packages we've checked out and need to get a compile order for.