feat(serve): listen() worker-side adapter with drain semantics
Also adds PushChannel<T>/pushChannel() as a push-based async-iterable
channel (with .send()/.close()), required by listen() and serverThreads.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>