* fix(hopper): enforce caller-supplied request deadlines
* fix(hopper): correct idle deadline state and name timeout bound
Zero-ms deadlines never enter the FIFO, so report providerState
not_started instead of busy; the busy wording tells callers to wait
for an active request that does not exist. Name the Node timer
ceiling once and reuse it in validation and the error message.
* fix(hopper): enforce elapsed deadlines before dispatch and replies
* fix(hopper): distinguish unsent requests in timeout diagnostics
* test(hopper): exercise request deadlines against native Hopper
---------
Co-authored-by: Vilmer Frost <[email protected]>
Co-authored-by: morluto <[email protected]>