Fix bug where I forgot to make lev[xy] relative to cur_om.

Instead it is only changed by shifting, but setting a different cur_om did not change lev[xy].
That makes the absolute lev[xy] wrong.
Fix another bug, erase redundancy.

Critter saving uses *absolute* coordinates and should therefor use `map::load_abs`.

Call game::force_save_monster from game::despawn_monsters instead of repeating the exact same code.
Give the player character a unique id.

Added code to support loading a character without id,
Storing and loading the id is now common for both npcs and player.

Don't store next_*_id in the players save file.
Add marking items as used by a specific player

The players id is stored in the item vars, different players (with different ids) will be seen as different.

Apply this to the road/survival/... map iuse functions.
Remove unusued variable and fix further compiler warnings.
Move assign_npc_id for player-id below loading the master save.

That master save contains the next_npc_id from which the new player id is taken.


Also fix a tiny mistake in item::mark_as_used_by_player of not adding the id of the player, but overriding all previously added ids.
Merge pull request #8365 from BevapDin/consistent-player-id

Player character gets its own id, road maps can be use by further characters, bug fixes