(WIP) (CR) Improving functionality for weapons with recoverable ammo

The current system for stuff like arrows being recovered is pretty terrible, and newer items like fishing spears aren't covered at all.  I'm trying to build a system that will be more functional, as well being able to set ammo as being recoverable in the json instead of having to hardcode everything.