LuaTable: add return values to help chain method calls
New pi_lua_multiple_push to push as many stuff as one wants
Add a pi_lua_generic_push function for LuaRef
Add Call and CallMethod methods to LuaTable
Add a CallMethod static method to LuaObject
Move around some pi_lua_generic* functions to minimize interdependencies
Add builtin support for return values to Lua{Object, Table}::CallMethod
Use LuaObject::CallMethod for all the missile handling.
Remove hyperdrive setting in ship:SetShipType
Remove shipdef.defaultHyperdrive and replace it by shipdef.hyperdriveClass

This new attribute isn't an equipment type but a simple integer
representing the class of hyperdrives. This allows us to loosen
the link between equipment and ship types.
Non-variadic-recursive pi_lua_multiple_push version for MSVC
Merge branch 'cpp_calls_lua'
Merge remote-tracking branch 'laarmen/no_hyperdrive'
Fixing scoop = 2 values
Merge remote-tracking branch 'nozmajner/nerodia_fix'
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).
auto-commit: translation updates
Merge remote-tracking branch 'laarmen/cpp_multret'
Hotfix unsigned constant underflow in variadic templates
auto-commit: translation updates