This is a partial backport of [[https://github.com/bitcoin/bitcoin/pull/25648 | core#25648]]
> Combine datacarrier globals into one
https://github.com/bitcoin/bitcoin/pull/25648/commits/fa2a6b8516b24d7e9ca11926a49cf2b07f661e81
> Pass datacarrier setting into IsStandard
https://github.com/bitcoin/bitcoin/pull/25648/commits/fad0b4fab849eb5f1f0aa54ebc290f85a473ec91
> Remove global
https://github.com/bitcoin/bitcoin/pull/25648/commits/66664384a6fec39ecb4d8d06db66a4f193a06e33
Notable differences from the source material:
- we already removed `::nMaxDatacarrierBytes` in D1419
- the avalanche code also relies on `IsStandard` for verifying proofs. Wrap the function call to use `MAX_OP_RETURN_RELAY` in this context, to avoid having relay policies impact proof validity
Depends on D15780