Register reply handlers before sending message we expect reply to

We sent a message, got serial, then registered reply handler;
we need to generate serial, register reply handler, send message.

Also mixed in are a couple of s/concurrent.promise/concurrent.Promise/
to address deprecation messages.

Also print a complaint on unexpected replies, since that probably
indicates some kind of bug.