[roll third_party/pigweed] pw_log_rpc: Create Log RPC service & streams

An RpcLogStream matches a Multisink::Drain with an RPC writer and is
identified by the RPC channel ID. A persistent log stream can be created
by assigning an open writer to the RpcLogStream, or can be set when the
stream is inactive by the RPC Log service.
A map is provided to collect all log streams, persistent and dynamic. It
makes it easy to assign a writer to a log stream, or to flush all the
log streams.
Flushing is delegated to whatever owns the log stream map. Included is a
single thread, single Multisink::Listener that sequentially flushes the
log streams. Future work can make use of a work queue.

Test: sample app using raw strings log entries works with pw_console
calling:
```for payload in rpcs.pw.log.LogService.Listen.invoke():
    for entry in payload.entries:
        LOG.info("%s", entry.message)```

Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/56001

https://pigweed.googlesource.com/pigweed/pigweed
third_party/pigweed Rolled-Commits: 505be03e3b3729f..5e645b2d2671d7f
Roller-URL: https://ci.chromium.org/b/8837091003655514529
Cq-Cl-Tag: roller-builder:pigweed-experimental-roller
Cq-Cl-Tag: roller-bid:8837091003655514529
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: Ia4c703b1dc71b41f37439b2d3e76e135c5b6507d
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/59781
Bot-Commit: Pigweed Integration Roller <pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com>
Commit-Queue: Pigweed Integration Roller <pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com>
diff --git a/third_party/pigweed b/third_party/pigweed
index 505be03..5e645b2 160000
--- a/third_party/pigweed
+++ b/third_party/pigweed
@@ -1 +1 @@
-Subproject commit 505be03e3b3729fe0c184e0c4d20b0cb5dc3ff55
+Subproject commit 5e645b2d2671d7f02c0d9b9d3fe76fdc14fd4a46