RPC: Ensure that rpc updates arrive before rpc results
Our current implementation has a bug where we might deliver an update for a given request after we've given that request's final value.
At !1092 (comment 2894420), @Diziet suggests handling this with select_biased
, but @gabi-250 notes a problem there.
My preferred solution for now is to have all reponses for a request get put onto the same mpsc::Sender, so that they can't arrive out-of-order.