[roll third_party/pigweed] pw_crypto: Refactor Sha256

1. Extracts state tracking from backends to the facade, with tests
   against a mocked backend.

2. Makes Sha256::Update() chainable. e.g.
   ```
   if (!Sha256().Update(message).Update(more_message).Final().ok()) {
       // Handle errors.
   }
   ```
   All usage and documentation are updated accordingly.

3. Inlines Sha256::Sha256()/Update()/Final() in sha256.h, removes
   sha256.cc.

4. Other trivial clean ups.

Test:
  - `pw presubmit`
  - `pw presubmit --step gn_crypto_(mbedtls|boringssl|micro_ecc)_build`

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

https://pigweed.googlesource.com/pigweed/pigweed
third_party/pigweed Rolled-Commits: 1829982bd541d89..6ae057c48564ac4
Roller-URL: https://ci.chromium.org/b/8838034695374247008
Cq-Cl-Tag: roller-builder:pigweed-experimental-roller
Cq-Cl-Tag: roller-bid:8838034695374247008
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: Ibeda6109b793934063433dbd1393129b53b98519
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/58060
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 1829982..6ae057c 160000
--- a/third_party/pigweed
+++ b/third_party/pigweed
@@ -1 +1 @@
-Subproject commit 1829982bd541d899d43cacd23e4a1e2621ce707d
+Subproject commit 6ae057c48564ac41c288c3f211bbe5863f68ed5b