more TryTarget work
* add new avoidGround weapondef tag
* split TryTarget in: TestTarget, TestRange, HaveFreeLineOfFire
* reduce code duplication:
 * merge all linear line based HaveFreeLineOfFire tests into CWeapon
improve CMobileCAI::IsValidTarget (make subs stop trying to chase hovers and tanks)
check all equipped weapons if they can target the unit
SetExtractionRangeAndDepth allow to disable extraction