[roll third_party/pigweed] pw_transfer: Rolling window

This updates transfer receivers in C++, Python, and Typescript to extend
their receive window part-way through, with the intention of allowing a
transmitter to continuously stream data without blocking.

To support this, two changes to the transfer protocol are made:

  1. Chunks now have a type field, allowing a transmitter to distinguish
     between an extended window and a request for retransmission. A type
     for an initial transfer packet is also added, but not yet used.

  2. The pending_bytes field is replaced by window_end_offset, telling
     the transmitter what offset they can send up to, rather than how
     many bytes they can send. This is easier to manage on both the
     transmitting and receiving sides.

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

third_party/pigweed Rolled-Commits: 27e12c5bc7dd788..55333fa304ae7b8
Roller-URL: https://ci.chromium.org/b/8825855914631502193
Cq-Cl-Tag: roller-builder:pigweed-sample-project-roller
Cq-Cl-Tag: roller-bid:8825855914631502193
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: Ie538e6000ff87c2001390cdf7c0bf7656dfe73a1
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/sample_project/+/76780
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 27e12c5..55333fa 160000
--- a/third_party/pigweed
+++ b/third_party/pigweed
@@ -1 +1 @@
-Subproject commit 27e12c5bc7dd7882748f7231235541e68795abc2
+Subproject commit 55333fa304ae7b8784ef9780d25f713d5068b617