Some preparations for monster-type-id:

Change iterations over kill counter map and monster types to use range based loops.
Also use auto as iterator type and for other stuff.

defense.cpp: auto for storage of result of pick_monster_wave()
game.cpp: sum kill count without check of positive count, how can there be a negative count? Move declaration of sbuff inside the loop.
mongroupdef.cpp: use member get_mtype instead of macro GetMType.
monstergenerator.cpp: load id from json without check, entries in json without id must not be skipped but reported. Move getting the default monster to the end of the function, it should not be needed usually.
monstergenerator.h: Replace GetMType macro with two inlined functions that do the same.
wish.cpp: reuse wish_monster_callback::tmp instead of getting the mtype again.
Implement string_id - a typesafe wrapper for identifiers.

Change monster::mtype_id to use that class.
Fix wrong monster id