highlight an issue with absPath
move parentPath to Directory.Extra
drop absPath

its only advantage over canonicalizePath was that it was supposed to
work with paths which don't exist, but it wasn't working all that well,
and we were only using it with paths which did exist.
parentPaths is now ancestors in Directory.Extra
drop Directory.Extra.parentPath
Merge branch 'directory-refactor'

Some cleanup work after issue #120. I didn't want to include it
in #120 itself because I did not want to introduce new bugs.