Fixes wrapping overloaded functions/constructors where a vararg function is declared after a non-vararg function. This is a long standing bug in the Python layer exposed since fastunpack was turned on by default.
Add runtime tests for namespace_virtual_method, template_opaque, using_extend, using_inherit, using_pointers, using_private, and varargs_overload.