pw_rpc: Test raw client & bidirectional streaming

- Expand RawTestMethodClient and NanopbTestMethodClient to support
  client and bidirectional streaming methods. Move shared functionality
  to a common InvocationContext base class.
- Add tests for raw client & bidirectional streaming methods.

Change-Id: I26f5d0608f6215bc846e69d89b3c9735595a7930
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/52523
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
diff --git a/pw_rpc/fake_channel_output.cc b/pw_rpc/fake_channel_output.cc
index c3ee687..1ed1f24 100644
--- a/pw_rpc/fake_channel_output.cc
+++ b/pw_rpc/fake_channel_output.cc
@@ -51,6 +51,8 @@
       }
       done_ = true;
       break;
+    case PacketType::SERVER_ERROR:
+      PW_CRASH("Server error: %s", result.value().status().str());
     case PacketType::SERVER_STREAM:
       ProcessResponse(result.value().payload());
       break;