[idl] migrate tests from Port to RpcClient/Server; allow RpcClient to write without expecting reply