rpclib, ffi: Allow simultaneous calls to `arti_rpc_handle_wait()`
Its underlying function previously took &mut RpcHandle
,
which was an accident waiting to happen. Now it takes &RpcHandle
and includes a Mutex to prevent multiple threads from waiting for
updates on the same request ID at once.
As an alternative, we could try to update connimpl::Receiver to allow multiple simultaneous listeners on the same request ID. But that would (I think) require a lot more bookkeeping, and thus would be a bit more error-prone.
Closes #1532 (closed).