Improve type safety in SimpleMessenger (Pipes).

The elision of Pipe* types in PipeConnection interfaces
reduces clarity, and makes debugging difficult.  The cost of
type safety is small.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Init XioMessenger::magic.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Modulo prints, also remove race to test pipe.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>