Fixed issue with parts with underscores in the name not being recognized.
Added min/max validation.
WaypointGenerateBehaviour changes.
Merge CC_SCANsat into main solution.
Validation cleanup pass.
Merge remote-tracking branch 'upstream/master' into feature/debugging

Conflicts:
	source/ContractConfigurator/ContractBehaviour/WaypointGenerator.cs
	source/ContractConfigurator/ContractRequirement/AltitudeRecordRequirement.cs
	source/ContractConfigurator/ContractRequirement/CompleteContractRequirement.cs
	source/ContractConfigurator/ContractRequirement/ExpressionRequirement.cs
	source/ContractConfigurator/ContractRequirement/FacilityRequirement.cs
	source/ContractConfigurator/ContractRequirement/PartModuleUnlockedRequirement.cs
	source/ContractConfigurator/ContractRequirement/PartUnlockedRequirement.cs
	source/ContractConfigurator/ContractRequirement/TechResearchedRequirement.cs
	source/ContractConfigurator/ParameterFactory/AltitudeRecordFactory.cs
	source/ContractConfigurator/ParameterFactory/CollectScienceFactory.cs
	source/ContractConfigurator/ParameterFactory/HasPartFactory.cs
	source/ContractConfigurator/ParameterFactory/HasPartModuleFactory.cs
	source/ContractConfigurator/ParameterFactory/HasResourceFactory.cs
	source/ContractConfigurator/ParameterFactory/PartTestFactory.cs
	source/ContractConfigurator/ParameterFactory/ReachAltitudeEnvelopeFactory.cs
	source/ContractConfigurator/ParameterFactory/ReachBiomeFactory.cs
	source/ContractConfigurator/ParameterFactory/ReachSituationFactory.cs
	source/ContractConfigurator/ParameterFactory/ReachSpeedEnvelopeFactory.cs
	source/ContractConfigurator/ParameterFactory/VesselHasVisitedFactory.cs