Fixed: problem when depending on two targets redo-always using redo-stamp

Added test case.

Updated redo-ifchange to continue probing for dirty sub-targets until no
sub-targets are found anymore and either the current target is dirty, or
is clean.
Fix test 130: ls -l output is not always as expected
Change the process title with a cleaned-up version of the script
Document the use of setproctitle in the README
Implemented --overwrite
All redo programs now share the same entry point
Add locking of deps files, preparation for implementing multiprocessing
Redo state now stored in .redo subdirectory
Implementing multiprocessing using -j option, including file locking
Allow access to stdout using &3 file descriptor
Implemented multiple outputs
Fix 'you modified it' message during parallel builds
Fix ./redo -j100 t/950-curse/all

./redo -j100 test still fail with t950-curse because runid changes during
the test (causing more rebuild than necessary)
.do files are now searched in do/ directories
Look for interpreters in the same place as the .do files
Add cleantest target to run tests after cleanup
Added package.do to create system packages using fpm
package.do: only redo install if the system is supported
Separate out build targets for deb and rpm. Fix invalid version numbers for rpm.
Add t/600-force-redo and fix tests

This broke t/950-curse and a change in locking fixed this again.
Now the lock is taken before checking dependencies