Use a DfsPostOrder visitor for rebuild order

To generate the correct order a topologic order traversal should be
used, but that doesn't handle cycles, while a visitor such as
DfsPostOrder does. But it emits the graph in a visual wrong order so
store the results in a vector and reverse them before displaying.

Closes #1
3 jobs for master in 2 minutes and 18 seconds (queued for 2 seconds)