timers: fix processing of nested same delay timers
This is a port of https://github.com/nodejs/nodejs/node-v0.x-archive/pull/17203 and https://github.com/nodejs/node-v0.x-archive/pull/25763 which fixes https://github.com/nodejs/node-v0.x-archive/issues/9333, https://github.com/nodejs/node-v0.x-archive/issues/15447, https://github.com/nodejs/node-v0.x-archive/issues/25607 and https://github.com/nodejs/node/issues/5426.
/cc @Fishrock123, @misterdjules, @nodejs/collaborators and @nodejs/tsc