quickly check if a position is in our view.

New function for Battleunit, uses MATH!
surprise! no reaction fire.

adds the element of "surprise" by popping the state if new units were
spotted, prior to the reaction checking.
no TU cost for turning during reaction fire

and continue turning if we're shooting, regardless of "new enemy spotted"
add divisibility to Position objects.
change handling of reaction fire for projectiles.

target only goes aggro if it gets HIT, not just when targetted.

reaction fire occurs regardless of "potential victim" scenarios

refunds TUs for reaction shots if the target has died
(presumably from reaction fire)
allow for explosive efficacy function to be called externally

by using an extra case for an already existing argument.
don't push a projectile state here, reaction fire function will do it.
complete re-write of reaction fire functionality

addresses issues with visibility (units seeing in the dark)

completely reworks reaction fire to be MUCH closer to vanilla behaviour.
now allows: reactions from multiple units to a single action,
and multiple reactions from a single unit to a single action.