Remove game::fire

It has become nothing more than a wrapper.
Implement generalized "attitude towards creature" function.

While npc and monster have their own check of attitude towards the player, there is no such function for the Creature class.

This is just a placeholder until proper faction support gets implemented. Creatures should refer to their faction than.

However this allows for easy sorting of creatures based on their attitude for example when targeting with a gun.
Sort by creatures attitude when targeting with a gun.

List hostile creatures before neutral before friendly creatures.
With same attitude, sort by distance as before.

Make the code in game::target a bit simpler, the check for u.sees is already done in game::pl_target_ui, so just target the first creature of the list.
Make re-targeting during burst firing consider friendly creatures.

Neutral creatures are still valid, but friendly are ignored, except sometimes for trigger happy characters.
Use player::get_visible_creatures in game::is_hostile_within

Also use Creature::attitude_to instead of monster/npc specific checks.
Use player::get_visible_creatures in game::mon_info

Instead of storing the (encrypted) index of the npc in unique_types, store a pointer to it.
Remove the calls to u_see, get_visible_creatures already checks that.
Combine some common (to npc & monsters) code in game::mon_info

The calculation where the creature is and where in the monster compass to put it.
Show npc in nearby monsters list.

Using player::get_visible_creatures and npc specific alternatives.
Make game::list_monsters simpler:

return when there are no monsters around before creating the windows to avoid flickering.
Fix display bugs in game::list_monsters:

The help line "press foo to bar" overrides the last monster in the list, make the list of monster not consume that one line.
Use the current input context, no the default input (global press_x vs press_x of local input context).