Run dependency task in an orderly manner.

For the Spark,  We have to run `./grind setup` first. Even `setup` task is highest dependency. 

This patch makes dependency tasks runs from the highest task to lowest task by using postorder traversal.

After applything this patch, we can remove the line, `./grind setup ` at spark/ide/tool/dron_io.sh

Thanks!

TEST=./grind tests,  ./grind archive(at Spark project)