Adds Diplomacy keywords for ValidTarget checks.

Changes:

Allows diplomacy stance checks to be done on warheads and weapons, using keywords in ValidTargets and InvalidTargets.
Additional changes: Changed Weapon.Impact to use Target instead of WPos.
Split out some common functionality to DamageWarhead from its derivatives.
Test case.