Remove monster::spawned_from_spawn_point

All monsters are stored on the overmap (regardless where they came from), so no need to check this.
Add documentation to shift & despawn monster functions,

Renamed game::despawn_monsters to shift_monsters because that's what it does.
Changed parameter of game::despawn_monster to monster index to allow that function to remove the monster,
this has to be done by the anyway.

Added documentation for both functions.