Yet another step towards splitting main.cpp. After this and #8930 (which I will rebase after this is merged to clean it up a ton), we’re ready to do the big code moves :).
This PR focuses on mapBlockSource, removing references to it from ProcessNewBlock and moving it to callsites, cleaning up logic in the process.
Built on #9026 to avoid conflicts and simplify the backporting (#9048).