Rewrite/refactor Signal<> API

Most important change: you can now connect and disconnect
safely while a slot is running. A trackable object can delete
itself while handling a signal if it wants.

Besides, SignalConnection is now a simple class and not a
variadic template. You can't however get back the signal from
it anymore.
Fix Lua version detection in FindLua.cmake
Improve lua.cc version compatibility

Works on Lua 5.1, Lua 5.2 and LuaJIT 2.0.