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/BUILD.gn b/pw_rpc/BUILD.gn
index 1302c10..3b842b2 100644
--- a/pw_rpc/BUILD.gn
+++ b/pw_rpc/BUILD.gn
@@ -137,18 +137,15 @@
 
 pw_source_set("test_utils") {
   public = [
+    "public/pw_rpc/internal/fake_channel_output.h",
+    "public/pw_rpc/internal/method_impl_tester.h",
     "public/pw_rpc/internal/test_method.h",
     "public/pw_rpc/internal/test_method_context.h",
-    "pw_rpc_private/fake_channel_output.h",
+    "public/pw_rpc/internal/test_utils.h",
     "pw_rpc_private/fake_server_reader_writer.h",
-    "pw_rpc_private/internal_test_utils.h",
-    "pw_rpc_private/method_impl_tester.h",
   ]
   sources = [ "fake_channel_output.cc" ]
-  public_configs = [
-    ":public_include_path",
-    ":private_includes",
-  ]
+  public_configs = [ ":public_include_path" ]
   public_deps = [
     ":client",
     ":server",
@@ -168,11 +165,6 @@
   ]
 }
 
-config("private_includes") {
-  include_dirs = [ "." ]
-  visibility = [ ":*" ]
-}
-
 pw_proto_library("protos") {
   sources = [
     "benchmark.proto",