[roll third_party/pigweed] pw_build: Compile requirements for Python venvs

This change introduces a pip-tools workflow for compiling Python
package requirements and constraints for a pw_python_venv. This
produces a single requirements.txt file for installing all necessary
dependencies.

Using pip-tools enables a few additional features added in this CL:

- Adding hashes to the requirements.txt for package verification.
- A new optional GN subtarget for pw_python_venvs to download Python
  packages locally.
- The pw_python_zip_with_setup template now takes a venv option and
  will include third party python packages in the zip output. This
  allows for fully offline installs of distributable bundles.

Original-Bug: b/287302102
Original-Bug: b/240701682
Original-Requires: pigweed-internal:48148
Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/152071

https://pigweed.googlesource.com/pigweed/pigweed
third_party/pigweed Rolled-Commits: 54e90fb786661c6..f0712b6e1be4242
Roller-URL: https://ci.chromium.org/b/8775746474849328353
GitWatcher: ignore
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: Ia24cb2d89402adb41aaca1cc470eb8fe05ec0e6c
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/154998
Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
diff --git a/third_party/pigweed b/third_party/pigweed
index 54e90fb..f0712b6 160000
--- a/third_party/pigweed
+++ b/third_party/pigweed
@@ -1 +1 @@
-Subproject commit 54e90fb786661c6de623d238a8544363e771cee2
+Subproject commit f0712b6e1be4242fb7f0489676168b1eff01de6c