prevent useless EEXIST errors filling up the global custom error array
While checking out files, do not attempt to create every directory
that exists in the repository tree without paying consideration to
their existence on disk.
Instead, let functions which add files worry about creating any missing
parent directories. This shakes out two other bugs in broken symlink
installation code which ended up passing an absolute path to
add_dir_on_disk() and forgot to report progress in an unreachable code
path that is now getting used.
Problem reported by + ok naddy@