Adding NASTLH to the AI
added also gatech to the AI ...
Support ini files with spaces around the ‘=‘.
Add an early TS tileset importer and temperate tileset.
Added notifications for new objectives to scripted missions

Fixes #6692
Change indexes into tile arrays to be stored as bytes to save memory.

The index value needs only be big enough to handle all defined terrain types. This is a low number so we can save memory by defining it as a byte. This particularly saves memory for the CustomTerrain field in the Map class, which defines a cell layer for the map using tile indexes, so we can reduce the size of that layer 4x as a result.
Don't store pre-calculated texture coords in Sprite.

By storing only the four corners, we can save the object overhead of an array and 4 float elements per sprite. This results in savings of around 5 MiB to store these coordinates.
HashSet<byte> => BitArray resourceTypeIndices

BitArray can store 256 bits in 32 bytes plus overhead (pointer & length),
which gives it better memory locality too (<= 2 locations in memory).
Also, the actual count will be much less, probably at most around a dozen.
This might not impact performance, but the AI is dumb & HashSet<byte> is
clearly inefficient.
CaptureActor as Enter subclass & fixes 6658
Demolish as Enter subclass
RepairBuilding & RepairBridge as Enter subclasses
DonateSupplies as Enter subclass
Infiltrate as Enter subclass
Removed Enter(Actor self, Actor target, Activity inside) & made Enter abstract
Restricted terrain targeting to force-move enter transports
Added bridge hut repair tracking
Changed Vertex constructors to pass more parameters as plain floats.

This avoids callers having to construct a float2 struct, only to have the Vertex constructor unwrap it into individual components again.
Remove static state from ChromeProvider.
Remove obsolete PackageContents array from Manifest.
Disabled changing e7's stances