partition_alloc: support cpp17

This patches add cpp17 support in PartitionAlloc. I will be reverted
once this constraint can be removed.

The reason is that XCode doesn't yet support cpp20. It means cpp17 still
needs to be supported for a few month before the next release. Indeed we
have the dependency: partition_alloc -> skia -> google3 -> xcode

From [Google] comments, this will be unblocked after mid-September 2024
at best, when XCode 16 will be released, or before April 2025 at worst.
This is too long for me to wait.

Other alternative would cost me months: supporting multiple build
configurations in Skia, dealing with Infra, resolving current Skia
config problems, etc... I would like to complete MiraclePtr in Skia as
quickly as possible.

[Google]: https://b.corp.google.com/issues/306219562#comment4

Test: I built partition_alloc with many different combination of build
params via a script: 1024 different builds.

Why No-Try: It seems touching some PA files causes the CQ to run too
many tests and they are slower on the CQ due to option gathering code
coverage. As an example, adding empty lines causes the same failure:
https://chromium-review.googlesource.com/c/chromium/src/+/5513777
Feel free to revert this patch if some a bots fails two consecutive
run.

No-try: true
Bug: 344963951
Change-Id: I3b053a726e97a585bf0576e3158bb79d1017dd6f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5676711
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1324171}
NOKEYCHECK=True
GitOrigin-RevId: 182c5b119c22323fdf2e3d5c3b1f83b01e75d778
24 files changed