[roll third_party/pigweed] pw_allocator: Add MultiplexAllocator

This CL adds an allocator-like type that can multiplex between several
sub-allocators. If differs from the `Allocator` API in that each method
takes an additional token as a parameter.

These tokens are used to identify groups of memory requests and are
application-specific. This class facilitates mapping those tokens to
platform-specific allocators. This allows applications to use more
platform-agnostic dynamic memory, in turning allowing application reuse
across mutliple platforms, e.g. several generations of a product.

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

https://pigweed.googlesource.com/pigweed/pigweed
third_party/pigweed Rolled-Commits: 6168f7a58b63b04..8f0ab437b85c2ef
Roller-URL: https://ci.chromium.org/b/8761235468566072481
GitWatcher: ignore
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I31ad90731f95d76d9b499f161e0e92457800f0ce
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/185662
Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
diff --git a/third_party/pigweed b/third_party/pigweed
index 6168f7a..8f0ab43 160000
--- a/third_party/pigweed
+++ b/third_party/pigweed
@@ -1 +1 @@
-Subproject commit 6168f7a58b63b0498bd6decb4992c0fc5d16d7e1
+Subproject commit 8f0ab437b85c2efd6e2ef54d2fd8c64acd0636b8