Remove socket file if it exists. Best-effort, never panics.
Sockets now live in ~/.synaps-cli/run/ (mode 0700), so symlink
attacks from other users are not possible. Still refuse symlinks
as defense-in-depth.
Compatibility listener API. Binding is synchronous and refuses occupied paths.
Registry users should use SessionEndpoint for atomic bind + publication.
Deliver one payload to a session endpoint: connect, write, close. The
listener reads to EOF, and a named pipe has no half-close (shutdown
only flushes), so EOF reaches it only when the handle is dropped. Doing
all three here means no caller can hold the pipe open by accident.