Cleans up client handling of an unexpected server disconnect by ignoring SIGPIPE signals and instead handling disconnects via error-on-write; cleans up the way events are passed to the server by doing away with the boring and hacky message sending in ClientBase.