getDependencies now returns todos in order, annotates level.

getDependencies traverses the todos in a depth-first-search fashion now,
instead of breadth-first-search. By doing so, the result will contain a
properly ordered list of todos, inserting subtasks right after the
parent subtask.

Moreover, the todo datastructure is amended with the level of the todo.
This can be used for indenting the todo item based on its level.
Show indented tree when using the 'ls x to' subcommand.