Remove all parameters from map::save

The turn parameter is not used at all.
The coordinates are already known from when the map was loaded/generated.
The overmap pointer is only used to make the coordinates absolute.
Astyle map::saven and map::save
Add map::load_abs, using absolute coordinates.

Make parameters to map::load non-optional to separate them better from load_abs.
Those new function don't need a overmap pointer anymore. This omits the need to get that pointer from overmap_buffer (see mission_start.cpp)
Remove world coordinates from map::shift.

The map knows where it shifts from.
Remove the enum mapgen_function_type.

It is used to mark the different mapgen implementations.
But that system already uses virtual functions to do this.

It also removes the virtual dummy function, not needed at all.
The lua mapgen class is abstract (missing virtual function implementation) on non-lua builds. This effectively prevents anyone from using it in those builds.
Enhance class submap:

Constructor initializes all values, erases the need to do this in mapgen.cpp
Destructor deletes vehicle instances.
Avoid possible memory leaks with std::unique_ptr

Use pointer wrapper when loading submaps to avoid memory leaks when loading fails.
Add a check and a debug message if a map file did not contain the requested map or if a loaded map already existed.
Remove not needed includes of mapbuffer.h
Remove mapbuffer::submap_list

No need to duplicate the storage, the std::map already contains all the submaps.
Documentation.
Trying my hand at map making.
Fixed silo, bunker, lab, and temple with a more permanant zlevel=0 instead of a t_above=="open_air" or "".
Merge remote-tracking branch 'dda/pr/8072' into dda-master

* dda/pr/8072:
  Remove mapbuffer::submap_list
  Avoid possible memory leaks with std::unique_ptr
  Enhance class submap:
  Remove the enum mapgen_function_type.
  Remove world coordinates from map::shift.
  Add map::load_abs, using absolute coordinates.
  Remove all parameters from map::save

Conflicts:
	src/game.cpp
Merge remote-tracking branches 'dda/pr/8075' and 'dda/pr/8080' into dda-master

* dda/pr/8075:
  Trying my hand at map making.

* dda/pr/8080:
  Fixed silo, bunker, lab, and temple with a more permanant zlevel=0 instead of a t_above=="open_air" or "".