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.