message: [Refactor] Proper CConnman encapsulation of proposals / votes sync
  Using ForEachNode ensures that we are still holding cs_vNodes when
  dealing with a CNode* (as we should, for anything aside from existance
  checking).
diff: @@ -974,12 +974,11 @@ void CBudgetManager::NewBlock()
  ResetSync();
  }
  - std::vector<CNode*> vNodesCopy = g_connman->CopyNodeVector();
  - for (CNode* pnode : vNodesCopy)
  + CBudgetManager* manager = this;
  + g_connman->ForEachNode([manager](CNode* pnode){
  if (pnode->nVersion >= ActiveProtocol())
  - Sync(pnode, UINT256_ZERO, true);
  -
  - g_connman->ReleaseNodeVector(vNodesCopy);
  + manager->Sync(pnode, UINT256_ZERO, true);
  + });
  MarkSynced();
  }
  