Added a LineImpactProjectile

Requires #6162. (Currently based off it, can rebase if required).

New projectile can create multiple weapon impacts along its travel vector.
(i.e. apply all warheads effects at multiple positions as it travels).

You can currently tell it to:
* Create an impact every WRange.
* Only create an impact if at least WRange away from its source.
* Only create an impact if at least within WRange of its target.
* Keep traveling for up to WRange beyond its target.
* Have damage falloff (essentially passed as a firepowermodifier to the weapon during impact) that
  * Has a WRange before it starts
  * Has a WRange at which it reaches maximum falloff
  * Has a maximum falloff.

The projectile interpolates its impact positions, so its works for any projectile speed (i.e. the WRange between impacts you specify is always the WRange between impacts, regardless of the projectile speed).

Has the standard projectile fluff (contrail, trail, inaccuracy, angle, High, image, shadow). (Was based off bullet).

Does NOT support
* Falloff per actor hit. (Would require plumbing rework to weapon and warheads).
* Only a single impact per actor. (If you give the warheads a large spread, and you make the WRange between impacts small, you can hit a single actor multiple times. I suggest using AbsoluteSpreadDamage warheads for more accurate control. To do only single hits per actor would require plumbing rework to weapon and warheads.)

Possibly Closes  #4458.

I've attempted to apply it to the D2K sonic tank. But its balancing needs work.
This will also avoid me having to rewrite this code when implementing the custom rendering effect (which will require a setup similar to the lasers).