Fix messages that are not supposed for the player

Fixes #7437
Fixes #7457

Those two functions were defined in class player, but not overridden in class npc, instead it is inherited by class npc:
```
virtual void add_msg_if_player(const char *, ...);
virtual void add_msg_if_player(game_message_type, const char *, ...);
```
So basically `npc::add_msg_if_player` is the same as `player::add_msg_if_player` and `player::add_msg_if_player` does not check whether `this` is a player.

I also changed 2 calls to `add_msg` to `add_msg_if_player` as they seem player specific and are not protected by a `is_player()` call.