[roll third_party/pigweed] pw_span: Introduce pw::span

- pw::span is identical to Pigweed's polyfilled std::span, but in a
  different namespace. Implicit converions between std::span and
  pw::span are supported inherently.

  pw::span and std::span are maintained as separate classes, with shared
  code in a .inc file. This is done instead of aliasing since C++17 does
  not support class template argument decuction with aliases. Also, it
  is simpler to have separate implementations to avoid circular
  dependencies while migrating code to pw::span.
- Add DEFINES to the pw_add_test() CMake function to support defining
  preprocessor macros for the pw_span test.
- Move '.inc' and '.inl' extensions from CPP_HEADER_EXTS to
  CPP_SOURCE_EXTS, since these should be treated like sources not
  headers (no include guards).

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

https://pigweed.googlesource.com/pigweed/pigweed
third_party/pigweed Rolled-Commits: 92be6f4430fec67..1b338eb8c57d689
Roller-URL: https://ci.chromium.org/b/8811169025120020929
Cq-Cl-Tag: roller-builder:pigweed-experimental-roller
Cq-Cl-Tag: roller-bid:8811169025120020929
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: Ib060fb605080702a019d7b388a3948daa8740f25
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/98485
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 92be6f4..1b338eb 160000
--- a/third_party/pigweed
+++ b/third_party/pigweed
@@ -1 +1 @@
-Subproject commit 92be6f4430fec6734b7bee7de23523508cb859bf
+Subproject commit 1b338eb8c57d689e64ac894e4ec7871b7719630f