Use new #defines for firetypes and a new utility function Util_WeaponIsSemiAutomatic
to make W_Fire far more legible in the section where firing a projectile or trace
is done.
Adds some utility functions to make grabbing specific pieces of weapon
information in any of a player's slots easier. Fixes some mulekick bugs
as a side effect. Fixes https://github.com/nzp-team/nzportable/issues/52.