Implemented IEquatable<T> to speed up equality comparisons.

Actor, CPos, CVec, WAngle, WPos, WRange, WRot and WVec structs now implement IEquatable<T> which means unboxing/casting costs can be eliminated.

Also simplified the ToString method by concatenating components directly rather than using a format string since the overhead is a bit high for simple cases like this.
Added MinBy, MaxBy, MinByOrDefault and MaxByOrDefault methods and replaced calls of the style OrderBy[Descending]().First[OrDefault]() which is not as performant.
Also implemented on the Bits<T> struct.
New Maps

-Added Updated/Balanced version of Doubles
-Added "Singles," 1v1 version of Doubles
-Added "Synergy," 3v3 Ground, Naval, and Air
fixed a tib tree in Rogue States + polish
Add port of scg04wa mission
Add port of scg04wb mission
Map fixes

-Fixed/balanced "Man to Man" 1v1 map.
-Made minor alterations to "Singles" 1v1 map.
fix frozen actors not visible under fog
Merge pull request #5442 from Mailaender/frozen-actor-regression

Fixed frozen actors not visible under fog
Merge pull request #5429 from psydev/map

fixed a tib tree in Rogue States + polish
Merge pull request #5444 from ScottNZ/bleed

Closes #5439
fix broken random tiles in map editor for RA snow tileset
unbreak the OpenRA.Game.exe start menu link

fixes #5448
add unused sprites to rv05 tile
remove tile templates for non-existing sprites
Small Polish: Adds voices for aircraft's stop-orders
also watch master and next for deployment
we don't support SDL 1.2 anymore
Merge pull request #5453 from Kanar/AirStopVoices

Small Polish: Adds voices for aircraft's stop-orders