Tip: versionbitscache is currently a global so we didn't need to pass it
in to any of ::VersionBitsTip*'s callers
Notes:
- I had to restore `versionbitscache` in validation.h, removed in D2783.
- `VersionBitsBlockState` was not used anywhere. It was introduced and used in D5282, then `minerfund.cpp` was deleted then added again but without using that function.
This is a backport of core#21055 [6/16]
https://github.com/bitcoin/bitcoin/pull/21055/commits/31eac50c721dd3b0bd2347e76196bf16913e9be9
Depends on D11210