Changed MapClass::PickCellOnEdge definition and provided an overload that returns the CellStruct directly.
General update for ColorScheme.

- Named a few parameters
- Changed pointers to const references
- FindIndex now supports looking for specific ShadeCounts
- Reimplemented Find using FindIndex
Added a note about the off-by-one problem.
Removed HouseClass::DefaultIonCannonCoords.
Removed SuperClass::DefaultCoords.
Removed LightningStorm::EmptyCoords.
Removed TechnoClass::DefaultCoords.
Take the CreateLaser Coords as const reference.
Removed BuildingClass::DefaultCellCoords.
Added MovementZone class enum.
Updated MapClass::Pathfinding_Find() and added an overload.
Added PrismChargeState class enum.
Extracted some of the basic structs from GeneralStructures.
SHP update

- Removed some information that is not correct in all cases.
- Added constructor and destructor (that one was called Unload() previously).
- Added overload to return frame bounds directly.
- Added a few consts.
Converted LandType to class enum.
Converted Prerequisite to class enum.
Converted Edge to class enum.
Converted Category to class enum.
FootClass::Array
HouseClass::BaseSpawnCell definition fix and GetBaseCenter() helper