Adds intent-based firing control to guns, fixes targeting bug

Adds some of the gun firing control ideas described in [this](http://baystation12.net/forums/viewtopic.php?f=5&t=11441) thread.

Also fixes missing brackets in PreFire() preventing targeting people using GunTrace(), due to the low precedence of the ```in``` operator.

When help intent is set, the player will not fire their gun when clicking on atoms, or by reflex due to targeting. If targeting is off, clicking on a targetable mob will switch targeting mode on and target that mob.

When any other intent is set, firing guns works as normal. Because of the fixed bug, if targeting is turned on you can now target mobs by clicking on a turf between you and the desired mob using GunTrace(). If they are already targeted then clicking on that turf will fire the weapon.