pw_rpc: Responder & testing improvements

- Fill out remaining server-side Nanopb client & bidirectional streaming
  features and add tests.
- Use MethodType instead of a custom HasClientStream in Responder.
- Expose RawFakeChannelOutput and NanopbFakeChannelOutput for testing
  use.
- Reorganize test utils headers to avoid the need to add "." as an
  include path.

Change-Id: I3dd59ca593bd6ddd311d91a3de7f1b7eb60e3214
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/57881
Reviewed-by: Alexei Frolov <frolv@google.com>
Commit-Queue: Wyatt Hepler <hepler@google.com>
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
diff --git a/pw_rpc/base_client_call_test.cc b/pw_rpc/base_client_call_test.cc
index 0930e95..e4f0dff 100644
--- a/pw_rpc/base_client_call_test.cc
+++ b/pw_rpc/base_client_call_test.cc
@@ -15,7 +15,7 @@
 #include "pw_rpc/internal/base_client_call.h"
 
 #include "gtest/gtest.h"
-#include "pw_rpc_private/internal_test_utils.h"
+#include "pw_rpc/internal/test_utils.h"
 
 namespace pw::rpc::internal {
 namespace {
@@ -97,8 +97,7 @@
                       [](BaseClientCall&, const Packet&) {});
 
   constexpr std::byte payload[]{std::byte{0x08}, std::byte{0x39}};
-  call.SendPacket(payload)
-      .IgnoreError();  // TODO(pwbug/387): Handle Status properly
+  call.SendPacket(payload).IgnoreError();
 
   EXPECT_EQ(context.output().packet_count(), 1u);
   Packet packet = context.output().sent_packet();