Redesign list-directory-with-max-leaf-timestamp to work in parallel
and stop writing timestamps for directories not contained by any head revision.
The previous algorithm was to load timestamps from contents, and propagate them while following a topological sort. This was good to minimize writes to memory, but took half a day to run.
The new algorithm 'bruteforces' by traversing from every reachable content and
atomically applying max_directory_ts = max(max_directory_ts, content_ts)
to every parent directory that is also contained by a head revision.
This takes 5 minutes.