Fixes for some issues spotted by static analysis
Description
These issues were identified by PVS-Studio static analysis:
1. Fix condition in Colour_Generator::PickEndColours()
Updated the condition to correctly check that both m_propcolours[0] and m_propcolours[1] are non-zero before assigning color flows.
2. Fix loop condition in Matter_Overlap::SelectB()
Changed loop variable to a signed integer to prevent an infinite loop in SelectB().
3. Fix charge comparison in Single_Virtual_Correction::ComputeChargeFactors()
Corrected the charge comparison to properly compare particles i and j in ComputeChargeFactors().