Fix 8015

Removes the overmap pointer from `map::generate`/`map::loadn`/`map::saven`. Instead uses absolute coordinates. This allows some simplification in editmap.cpp and in map.cpp.

All three functions are at least protected in class map (and are only used by class map), the public functions `map::load` and `map::save` still use the supplied overmap pointer.

I stored a reference to the overmap terrain that is currently edited in editmap, instead of calling `overmap::ter`/`overmapbuffer::ter` each time.

This fixes #8015 - actually the absolute location of the `tinymap` that is used for mapgen was not set at all. Testing this is a bit complicated as the code that uses it will only be run when the item groups / monster groups are invalid. So you have to use an invalid item group somewhere in mapgen. (Item groups / monster groups are check when loading from json and if invalid they are discarded.) Or you might comment out the if clause that checks the validity of the item group and print the debug message all the time.

fbac899 fixes a warning about comparison of signed and unsigned.

----

I'd like to make map loading/saving/generating use only global variables:
That means the overmap pointer would be removed from `map::save` and `map::load`.

I'd also like to remove the coordinates from `map::save`. The map should know where it is located, either from calling `map::load` or from calling `map::generate`. The coordinates in `map::save` are simply redundant.

How about that?