Partial backport of core#21160
https://github.com/bitcoin/bitcoin/pull/21160/commits/575bbd0dea6d12510fdf3220d0f0e47d969da6e9
Regarding the change in processor.cpp: AddKnownProof is now a static function in net_processing, so the call to add the local proof to the peer's known proofs has been moved there, just after SendHello.
The condition for calling this line of code is equivalent, the only possible change in behavior is that the proofid is no longer added to the known proofs if the schnorr signature fails in Processor::sendHelloInternal which would mean our sessionKey is invalid.
Depends on D14709