validation: pass ChainstateRole for validationinterface calls
Summary:
This allows consumers to decide how to handle events from background or assumedvalid chainstates.
For now there is no change in behavior.
This is a partial backport of core#27596
https://github.com/bitcoin/bitcoin/pull/27596/commits/c6af23c5179cc383f8e6c275373af8d11e6a989f
https://github.com/bitcoin/bitcoin/pull/27596/commits/4d8f4dcb450d31e4847804e62bf91545b949fa14
Depends on D17889
Test Plan:
ninja all check-all
Tested on my dev branch (full mainnet IBD + function test)
Reviewers: #bitcoin_abc, roqqit
Reviewed By: #bitcoin_abc, roqqit
Subscribers: Fabien, roqqit
Differential Revision: https://reviews.bitcoinabc.org/D17890