This reduces the scope of `cs_main` locking and removes usages of the global chainstate in the Proof clasmoves usages of the global chainstate in the Proof class.
We now require `Proof::verify` callers to hold the lock for chainmanager operations.
Depends on D11703