fix(test): wait for worker termination before pending promise failures (#35127)
Fixes the Web Worker termination path used by `deno test` so explicit
`Worker.terminate()` keeps the host worker entry alive until both worker
channels close. This prevents the test runner from declaring the parent
event loop idle while the child worker is still tearing down.
Also reports deno_core's pending-promise deadlock detector as the
current test failure, so the file summary is `FAILED | 0 passed | 1
failed` instead of `ok | 0 passed | 0 failed` followed by a
process-level error.
Closes #21007
Closes denoland/divybot#548
Co-authored-by: divybot <divybot@users.noreply.github.com>
Co-authored-by: Divy Srivastava <me@littledivy.com>