While working on peer discovery (D9478), I found that the current API makes it difficult to verify avahello signatures then add the node without checking the delegation twice, which can be expensive.
To check the signature, the delegated public key is needed. This key is obtained using Delegation::verify, which is called in PeerManager::addNode.
This change adds an optional parameter sigData to addNode, with the signature data that needs to be checked.
The parameter is optional because we don't need to check a signature when manually adding a peer using the addavalanchenode RPC.