Throw a SkipMatchException when a bad overload was found
Add test case for #15
Improve test case for #15: handle disconnect as well
Fix test case for #15
Fix #15: automatically add .data() for QPointer arguments
Add test for #19 to #15 test cast
Fix #19: handle smart pointer operator->

The smart pointers that are handled are QScopedPointer, QSharedPointer,
QPointer, std::unique_ptr and std::shared_ptr