Warhead cleanups

This removes the remaining redundancy and floating point calculations from the warhead damage calculations.

The following are left for a future PR:
* Remove the redundant legacy "0% = no targeting" assumption.
* Remove the PerCellDamageWarhead type (which is bogus, and only used by the crate nuke weapons that we forgot to update when fixing the real nukes).
Looks like this is just discarding the result.