messenger refactoring for xio

This pull includes a bunch of interface cleanup for the Messenger.  We fully separate the implementation (SimpleMessenger, PipeConnection) from the interface (Messenger, Connection), and shift as many callers as possible to the newer Connection-based calls.  Several old addr-based variants and unused crufty bits get removed.