pw_rpc: PacketType updates

- Split each packet type into a separate server and client version. This
  makes it easier to determine the intended recipient when working with
  a server and a client on the same device or when manually inspecting
  packets.
- Have the C++ server and the Python client return a status indicating
  whether they processed the packet.
- Send CLIENT_ERROR packets when the Python client receives a response
  for an RPC it doesn't know about or wasn't expecting.

Change-Id: If177064fd9c2ac10e0f19988c4f4ce4fcab6d97c
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/15664
Reviewed-by: Alexei Frolov <frolv@google.com>
Commit-Queue: Wyatt Hepler <hepler@google.com>
diff --git a/pw_rpc/BUILD.gn b/pw_rpc/BUILD.gn
index 2334642..069ae9e 100644
--- a/pw_rpc/BUILD.gn
+++ b/pw_rpc/BUILD.gn
@@ -201,6 +201,7 @@
 pw_test("packet_test") {
   deps = [
     ":common",
+    dir_pw_bytes,
     dir_pw_protobuf,
   ]
   sources = [ "packet_test.cc" ]