* Projectile code additions
* Adds !prehit checks and corrects the check for energy cannon spam
* Adds checks for machines and structures to stop double hitting
* JJRcop Requesting Fixes#1
* JJRcop Requested Fixes#2
* Fixes projectiles unable to hit mobs in machines
* Adds in a new proc select_target, and rewrites some bits
Fixes projectiles double hitting when targetting machines with mobs on them, also makes it so weapons with forcedodge can hit targets inside walls.
* AnturK requested fix#1