Define __signature__ on Function
Define __signature__ on Function

This lets Python 3's inspect.signature give a useful signature for Function
subclasses.

For example,

BEFORE

In [1]: import inspect

In [2]: inspect.signature(LambertW)
Out[2]: <Signature (*args, **options)>

AFTER

In [1]: import inspect

In [2]: inspect.signature(LambertW)
Out[2]: <Signature (x, k=None)>

I was hoping this would also improve the IPython ? help, but that is contingent
on https://github.com/ipython/ipython/issues/3678.

madan96/sympy,chaffra/sympy,drufat/sympy,yashsharan/sympy,yashsharan/sympy,kaushik94/sympy,ChristinaZografou/sympy,rahuldan/sympy,jaimahajan1997/sympy,hargup/sympy,postvakje/sympy,drufat/sympy,Titan-C/sympy,souravsingh/sympy,souravsingh/sympy,jaimahajan1997/sympy,hargup/sympy,drufat/sympy,sampadsaha5/sympy,postvakje/sympy,chaffra/sympy,jaimahajan1997/sympy,aktech/sympy,yashsharan/sympy,kaushik94/sympy,hargup/sympy,kaushik94/sympy,Titan-C/sympy,chaffra/sympy,sampadsaha5/sympy,souravsingh/sympy,rahuldan/sympy,skidzo/sympy,postvakje/sympy,aktech/sympy,rahuldan/sympy,skidzo/sympy,madan96/sympy,aktech/sympy,skidzo/sympy,ChristinaZografou/sympy,madan96/sympy,Titan-C/sympy,ChristinaZografou/sympy,sampadsaha5/sympy