rewrite visibility check, causing cougars to leap into closed rooms
monattack::leap use target, not g->u
use std::stable_sort instead of std::sort in AIM
Use skill of gunmod for training
Move a block of skill training logic to ranged.cpp
remove unused function shoot_player
astyle item::pick_reload_ammo
Add function to item to check if type of item or type of any of its contents matches.

Same for ammo type:
item::is_of_ammo_type_or_contains_it
item::is_of_type_or_contains_it
Both function return true if either the item itself is of the given type / of the given ammo type,
or if the functions return true for any of its contents (recursive!).
extend player::has_ammo to check for wielded and worn ammo (containers)

This moves the chunk of code from item, which was not consistent with the above checks for ammo for the gunmods and the already loaded ammo.
Allow item::pick_reload_ammo to handle ammo in containers.

Changed the ui menu invocation to expect ammo in containers.
Rewrite some of the logic when to accept only exact item types as ammo, instead ammo type. This should no be much cleaner and easier to read
removed the indentation of the menu related code in item::pick_reload_ammo

Just moved the special cases of no available ammo or only one available ammo or not interactive in front of the code.
The code that creates and shows the menu is now the last part.
refresh horizontal menu
Merge a passel of bugfixes.
Move vision check to the right scope.