Archive cleanup read whole Git listings into the 64 KiB maxOutputBytes
buffer, so every clean checkout in a repository with more than about a
thousand tracked files settled as failed.
- Drop the skip-worktree/assume-unchanged and gitlink listings; removal
follows what `git status` reports, as peer agent products do.
- Stream `git status` and stop at its first entry, and stream the
worktree listing, so neither is bounded by maxOutputBytes; restoring a
worktree shares the streamed lookup.
- Retain a checkout whose administrative directory holds submodule
repositories instead of letting Git refuse the removal.
Refs #8151