Refactoring of the recursive build, with the same algorithm.
Let cmdline.clean explicitely ask for a recursion accross
dependencies. In the implementation, this clarifies that the only
recursion happens in the class hierarchy.
Only report that the cache is ignored when it exists.
Only write it if at least a command has been run.
Remove apparently obsolete parts interfering with depend.py from
latex.py and graphics.py.
Report build failures with exceptions carrying the information,
instead of letting cmdline rely on internals of Node.
Replace real_make subprocedure with a safer try/finally clause.
Improve the consistency of debugging information.
Report all missing or changed files at once.
Compute the snapshot of the source only once instead of checking if it
exist, then it is different, then storing the snapshots.
Only update them in case of success.
Make explicit that the only command allowed to run with a missing
source is the first LaTeX run.