MetaMethod: Implementing unsafeCallback() and testCallback()

With NURIA_REQUIRE supporting methods, the behaviour of callback()
was changed to first test the requirements. If these fail, a invalid
QVariant will be returned instead of calling the method. Else the
method is called as usual, returning whatever it returned.
unsafeCallback() offers the same behaviour of callback() without any
requirement checks. And third, there's now testCallback(), which is
used to check if a certain call would succeed (it'll return true) or
fail (it'll return false).