roll: pigweed pw_uart: Add ReadAtLeast and ReadExactly methods

Deprecate the existing Read method in favor of two read variants that
cover more use cases.

ReadExactly maps to the existing Read semantics and blocks until the
buffer is completely filled.

ReadAtLeast allows for blocking until at least the specified bytes are
received, but allows for more to be delivered if available.

ReadAtLeast is useful in cases where you don't know exactly how many
bytes will be returned and don't know exactly when to expect them.

Update mcuxpresso implementation to support this new feature.

Provide default implementations of new variant to ease transition of
existing implementations.

Original-Bug: 368149122
Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/236268
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Original-Revision: b4e75393442526d409968e4aac685515944b3e3e

Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed
Rolled-Commits: f946f6ae13c3bb..b4e75393442526
Roller-URL: https://ci.chromium.org/b/8735702464976187665
GitWatcher: ignore
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: Iad5f9adca77696e7a3bd829d862b66f2f5dcbce0
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/quickstart/bazel/+/238169
Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
diff --git a/MODULE.bazel b/MODULE.bazel
index e02e943..ddfd60c 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -49,8 +49,8 @@
     module_name = "pigweed",
     # ROLL: Warning: this entry is automatically updated.
     # ROLL: Last updated 2024-09-26.
-    # ROLL: By https://cr-buildbucket.appspot.com/build/8735703546264100225.
-    commit = "f946f6ae13c3bbc2a648b36f9ff55642e9d23b34",
+    # ROLL: By https://cr-buildbucket.appspot.com/build/8735702464976187665.
+    commit = "b4e75393442526d409968e4aac685515944b3e3e",
     remote = "https://pigweed.googlesource.com/pigweed/pigweed",
 )
 
@@ -58,8 +58,8 @@
     module_name = "pw_toolchain",
     # ROLL: Warning: this entry is automatically updated.
     # ROLL: Last updated 2024-09-26.
-    # ROLL: By https://cr-buildbucket.appspot.com/build/8735703546264100225.
-    commit = "f946f6ae13c3bbc2a648b36f9ff55642e9d23b34",
+    # ROLL: By https://cr-buildbucket.appspot.com/build/8735702464976187665.
+    commit = "b4e75393442526d409968e4aac685515944b3e3e",
     remote = "https://pigweed.googlesource.com/pigweed/pigweed",
     strip_prefix = "pw_toolchain_bazel",
 )