Fix queued PHP workflows that can remain waiting after parallel activities finish.
- Every completed activity records its result and wakes its workflow.
- Workflow uniqueness releases when processing starts, preserving a wake that
arrives during replay. The overlap lock still serializes workflow execution. - New asynchronous activities enter the queue after their producing workflow
releases its overlap lock, preserving one-attempt activity execution.
Synchronous dispatch, activity arguments, replay slots and ordinary retries keep
their existing behavior. Includes controlled real-worker regressions for the
late sibling completion and activity dispatch boundaries.
This release also contains the continued-run timer and queued-job retirement
corrections from 1.0.84 and 1.0.85. Addresses #607 and #620.