Use a custom qt_metacall() method to implement MultiSignalMapper.

So far this is functionally equivalent to the QSignalMapper-based approach,
but this will also allow extracting signal arguments in a next step.
Also extract signal arguments.
Show signal arguments here.
Replace QSignalSpy usage with MultiSignalMapper.

In Qt5 QSignalSpy "leaks" QTestEventLoop objects outside of its own object
tree, making it impossible to hide them to the user in GammaRay.

This should also avoid the extra dependency on QtTest for the probe, which
might be relevant on some constrained embedded targets.
Make QtTest dependency optional, only needed for our unit tests now.