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. 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