Updated SpawnManagerClass.
TimerStruct::Pause().
Moved ArrayIndex out of TechnoTypeClass

It's not likely ArrayIndex is part of TechnoTypeClass.
- It requires manual 4 byte alignment instead of natural 8 bytes
- The four bytes before that are unused (they are the real padding)
- Every other concrete type has ArrayIndex in them, not on the base
- GetArrayIndex() does not return it, even though it would be available
WeaponStruct equality operator update
Treatment for pointer arrithmia.
More const for the array classes.
VectorClass::FindItemIndex() now takes a reference.
VectorClass::start() is now begin().
DynamicVectorClass<T>::GetItemOrDefault() helper methods.
AbstractClass operator <.
Split Game::F2I() into two functions (return value changed)

F2I now returns int, not a long long int. Almost every time this function is called, the result has to be narrowed to int anyhow.

F2I64 returns a long long int like the original function.
Updates to BombClass and BombListClass

Renamed OwnerObject to Owner, because Owner is a Techno, not an Object. Renamed and re-typed TargetUnit, because it could be an Object. (ObjectClasses don't update the bomb, so even though they can be attached to them, they will just tick forever).

Made the constructor public, but added a note about BombListClass::Plant.

Renamed the UpdateDelay member. It counts down, and if it reaches 0, the Detectors' BombSight is refreshed.