ls-tree: split up "fast path" callbacks