Asynchronous 9P2000.L client.
Reconnection
9P sessions are stateful: every fid and byte-range lock lives on the
connection, so a dropped socket invalidates all of it. This client records,
per fid, the stable inode id it points at (plus open flags) and which locks
it holds, in [SessionState]; a supervisor task reconnects (indefinite
backoff) and replays that state onto the fresh session. Requests block
through the reconnect and are resent. A request in flight at the drop is
ambiguous; under .zerofs3 every non-idempotent mutation carries a stable
op-id (including the fid-opening create, Tlcreate), so the server deduplicates
the resend instead of double-applying it.