Coalesce concurrent version polls, cache results briefly, and skip checks
while an updater owns the local runtime. Use the existing execGit runner
with a 5-second timeout and no lazy fetch; reap its process group or Windows
process tree so Python-hosted git and promisor children cannot accumulate.
Add concurrency/backoff coverage and a live descendant-process regression.
Related to NousResearch/hermes-agent#125932.
(cherry picked from commit 633d7de6cd68164d2293c47f8e37170debabeaed)