Converted FactoryOwners_GatheredPlansOf to ValueableVector.
Converted FactoryOwners to ValueableVector.
Converted ForbiddenFactoryOwners to ValueableVector.
Minor refactoring
Changed a few fragments

CheckFactoryOwner's loop was not necessary. Either the first iteration would return true, or it never would.

ParentCountry is a member of array of char. Its address can never be null and the else-block would never execute. Depending on the return value of Find, null pointers could be placed into FactoryOwners_GatheredPlansOf and OriginalHouseType.
Fixed a regression: the original code would only return true if there was at least one plan.