Use the more powerful signatures module to display function argument signatures. In particular this works better for functions wrapped with functools.wraps (at least on Python >= 3.4)
Fix signature with unbound methods
Merge pull request #6932 from takluyver/help-signatures

Better support for wrapped function signatures in help