Repair bonus based on amount of players repairing

See OpenRA/OpenRA#3748

More than one player can now contribute to repairing a building.
Base repair amount is multiplied by sqrt(# of players)
Players who can't afford to contribute are ignored
Repair indicator cycles between each player's color.

Moved everything into the square root, to avoid floating point accuracy errors

Uses an Integer-based square root to find the result

Changed Math.Sqrt() to ISqrt where applicable

For instance, not in graphics code

commented out array