Migrate LSP from Instance.state() to Effect Service/Layer/InstanceState
pattern with makeRunPromise and async facades.
- InstanceState for per-directory lifecycle with ScopedCache
- Effect.fn tracing on all 14 service methods
- Effect.fnUntraced for internal helpers (getClients, runForFile, runForAll)
- addFinalizer for client shutdown on instance disposal
- No changes to server.ts, client.ts, launch.ts, or language.ts
- No consumer changes — all 15+ callers use unchanged async facades