fix: dry run missing tasks with no script (#6473)
### Description
https://github.com/vercel/turbo/pull/6466 broke
`test/edit-turbo-json/task.t` as it moved the dry run execution to
happen after we early exit when commands don't exist.
This PR moves the branching to happen before the early exit and avoids
performing some of the work that's necessary for a real run, but
unneeded for dry run. I don't love the level of nesting in the `visit`
function, but it'll do for now.
### Testing Instructions
`tests/edit-turbo-json/task.t` now passes on the Rust codepath.
Closes TURBO-1682
---------
Co-authored-by: Chris Olszewski <Chris Olszewski>