Adds Diplomacy keywords for ValidTarget checks.

Changes:

Allows diplomacy stance checks to be done on warheads and weapons, using keywords in ValidTargets and InvalidTargets.
Ioncannon changed to limited Spread. (1000, 250, 100 damage in 1c1, 2c1, 2c512)
AffectsParent defaulted to false.
Merge pull request #6162 from UberWaffe/WeaponDiplomacyCheck

Closes #5618