Minor update to README.
Return undef instead of 0 when a non-boolean value is expected.

Returning 0 could break TodoTxt::parseDate. Previously it happily ate undefs, but now it got a 0 it choked.
Print trailing newline when printing a todo item.
Define a print function for a todo instead of doing that in all places.

Should fix some missing newlines in a few commands.
Minor: fix indentation.
Make transitive reduction part of the dependency garbage collection.

For the uninitiated, suppose there are three tasks with the following
dependencies:

1 -> 2
2 -> 3
1 -> 3

There is already a path from 1 to 3 via 2, so the direct connection
between 1 and 3 is obsolete. So this relation will be removed with the
transitive reduction.
Extend usage descriptino with gc subcommand.
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.
Also allow 'today' and 'tomorrow' as relative dates.
Rename variable.
Extend relative dates with the weekdays.

Use "sat" or "saturday" to indicate next saturday (or today if today is
saturday).