Reland "Making span.h available within partition_alloc."

This is a reland of commit 2277b42429420bf32aed450f0e6ab42910a2d7ad

Original change's description:
> Making span.h available within partition_alloc.
>
> Added span.h and span_unittests.cc with their dependencies.
>
> Design doc: go/partition-alloc-spanification
> BYPASS_RECITATION_REASON=Internal file copy from base to partition_alloc
>
> Bug: 481768474
> Bypass-Check-License: Moved files without licence changes.
> Change-Id: I214b046ab46ab59053b03e8ed7a473a0b238b906
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7517264
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Reviewed-by: Stephen Nusko <nuskos@chromium.org>
> Commit-Queue: Sergio Solano <sergiosolano@google.com>
> Cr-Commit-Position: refs/heads/main@{#1605946}

Bug: 481768474
Bypass-Check-License: Moved files without licence changes.
Change-Id: I4ea55e9a9ba6c091aaa1ab3118279f145680ee46
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7706870
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Stephen Nusko <nuskos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1606987}
NOKEYCHECK=True
GitOrigin-RevId: 39edeb9bd1c73f850a318dbe3aa3385ab62af1ad
7 files changed