Replaced AmmoManager with GunManager class.

GunManager class manages a list of Gun classes with ammo as opposed to two
lists of integers that represent the amunition of each gun.  A separate GunNode
class stores the information for each gun with its ammo so the relationship is
no longer dependant on the two integer lists.
Move ammo managing functionality into Gun class.  Removed Signals module.

Moved ammo management into the Gun class.  Removed GunNode and code in
Player class checked if a gun had enough ammo to fire.  Removed Signals module.
Clamping functions are simple enough to do inline.
Completly removed GunManager class and replaced it with a simple Array.

After moving all of the ammo handling functions to the Gun class, GunManager
did not contain any functionality more sophisticated than a normal Ruby Array.
GunManager class was removed, and replaced with a simple Array attached to the
Player class.  Text formatting for AmmoCounter HUD class moved into the Gun
class as well.  AmmoCounter now works with a simple Array of Gun objects and
calls their to_s() function to retrieve the ammo counts.
Added weapon switching ability to Player class.

When the Player pressed a number key, the gun the player is holding will change
to that of the pressed number key.  Updated base sprite class so that guns will
face the correct direction regardless of what facing they had when they were
last updated by the player class.
Updated Global TODO list