Hotfix unsigned constant underflow in variadic templates
Revert "LuaTable: remove unused GetMap() function"

This reverts commit 15bf44506a7c6ea515595566c4f994fd32549b4e.

Conflicts:
	src/LuaTable.h
Fix debug.deprecated when there isn't enough data.

Conflicts:
	data/libs/00-utils.lua
Shiptype: store the slot informations in an map<string, int>

This allows the system to decouple ship definition from the rest of the
Lua, thus returning to the previous state and easing any future
migration of the ship definition file format.

Conflicts:
	src/LuaModelViewer.cpp
	src/Pi.cpp
	src/Ship.cpp
	src/ShipType.cpp
	src/ShipType.h
new-equipment: Add an EquipType lua class.
new-equipment: Add an EquipType lua class.
Add a new lua library EquipSet.lua to handle equipment changes.

This new Lua class will leave alongside the old C++ infrastructure for a
little while.
new-equipment: Add an "equipSet" Property to Ship to hold the new lua EquipSet

Conflicts:
	src/Ship.h
Replace the equipment related methods by their Lua counterparts.

This gigantic commit also make the LuaShipDef use the `slots` attribute
to lookup its slots, and fixes up a few modules to work with the new
system.
Replace the equipment related methods by their Lua counterparts.

This gigantic commit also make the LuaShipDef use the `slots` attribute
to lookup its slots, and fixes up a few modules to work with the new
system.
Replace the equipment related methods by their Lua counterparts.

This gigantic commit also make the LuaShipDef use the `slots` attribute
to lookup its slots, and fixes up a few modules to work with the new
system.
WorldView: Update radar handling to use capabilities
n-e: convert the scanner handling to use capabilities
n-e: Use the capabilities for fuel scooping
Equipment.lua: Implement an HyperdriveType class that contains the mechanisms used in hyperspace travel
Ship.lua: Add wrappers to the Hyperdrive methods
n-e: use new equipment in MainMenu player ship initialisation
n-e: use new equipment in MainMenu player ship initialisation
Port the CargoBody class to new-equipment
Use the new slot syntax for all ships