This adds a data structure to store proofs until we find a node that has
the permission to use it, and a method to find out if we already have a proof.
This method is used in net_processing.cpp::AlreadyHave, used to tell if an
inventory message corresponds to an object we already have.
Depends on D9394