Started ranged.cpp rewrite

* new method, player::fire_gun, handles the firing of the weapon, including
checking for and depleting ammo
* Creature::ranged_attack handles the actual projectile spawn/travel/damage
* new projectile class in damage.h represents the fired projectile