Fix AttackCharge not picking a new target if the current became invalid
ITeleportable does not exist anymore
self-document CrushClass of crates
let supply trucks spawn money crates upon destruction
ContainsCrate is redundant to LeavesHusk
Custom Warheads refactor

Changes included:

Warhead code split out of weapon code and refactored.
Warhead functionality now split into several classes, each handling one effect/impact.

Additional custom warheads can now be defined and called via yaml.
Custom warheads inherit the abstract class Warhead,
which provides target check functions.

Custom warheads have to define their own impact functions,
and can also define their own replacement for check
functions.
Merge pull request #6030 from UberWaffe/CustomWarheads

Custom Warheads refactor
Sonic Tank offset
Merge pull request #6127 from cjshmyr/attackcharge

Fixes #5568
Remove TakeOff activity from ReturnToBase
Merge pull request #6160 from cjshmyr/returntobase

Remove TakeOff activity from ReturnToBase
Merge pull request #6155 from Phoib/sonicbeam

Sonic Tank offset
use ToLowerInvariant for all weapon rules
Merge pull request #6163 from Mailaender/shrapnel-lowercase-weapon

Fixed ThrowsShrapnel not using lower case weapon names.
Merge pull request #6152 from Mailaender/money-crate

Added money crates to be spawned by destroyed supply trucks
Write trait requirements in documentation.
IonCannonPower can now define how many ticks into animation the weapon impact happens (as opposed to at the end of the animation).
Bridge can now define DemolishWeapon. Defaults to previous "Demolish".
#6030 Regression fix. CreateEffectWarhead effect location and water impact sound.
Merge pull request #6158 from Phrohdoh/DocPrintRequires

Write trait requirements in documentation.