Problem: responded HAVE READER wrongly

pipe_attach_remote_writer() was responding "HAVE READER" to a broadcast
"HAVE WRITER" request, when there was no reader, due to backwards test
on self->reader. Problem wasn't being caught by my simple cluster test.

Fixed that, which IMO fixes #60.

Second problem, as seen from logs, extra "HAVE READER" and "HAVE WRITER"
commands were sent. The handshake logic was slightly off. I fixed that.