[cpp] move to c++20
Summary:
Bump the standard to c++20. There is some remaining compatibility code to be removed in follow-ups, but starting from this diff we can no longer compiler with the c++17 standard.
For now we don't bump the standard for the chronik code.
Depends on D18864
Test Plan:
ninja all check-all
guix builds
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D18862