Add the ability to extract multiple return values when calling a C++ method

I've extended the CallMethod methods to return a tuple if (and only if)
strictly more than one return value is expected, and when none is
expected to just do nothing and return void.

There are of course the usual MSVC #ifdef deviations limiting this to 3
return values ATM, but if it ever becomes necessary it is easy to add
new ones as long as the compiler can't really handle variadic templates
(the way I'd want it to, anyway).
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.
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.
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
Port the CargoBody class to new-equipment
Use the new slot syntax for all ships
Replace the C++ hyperjump handling by a Lua-based system