Fix worktree removal animation causing row to reappear
The bug was that withAnimation only wrapped the repositories state
change while deletingWorktreeIDs was cleared outside the animation
block. This timing mismatch caused the row to show as "removing..."
briefly then revert to showing the worktree name without being removed.
Fix by wrapping all related state changes (repositories,
pendingWorktrees, deletingWorktreeIDs, pendingSetupScriptWorktreeIDs)
in the same animation block.