Use macros to avoid code duplication in QtMetacallAdapter implementation
Support connecting signals to plain functions

Simplify the QtMetacallAdapterImpl templates and enable them to work
with plain functions as well as function wrappers.
Remove superflous Signature template arg in QtMetacallAdapter

Add a typedef for the function traits type for the functor
in the base class instead.
Increase functor arg limit from 3 to 5

Use a macro to avoid the repeated code in the
QtMetacallAdapterImpl implementations and add macro
calls to generate the implementations for 4 and 5-argument functors.
Document several of the template helpers