Application.nargs should be a tuple in all cases (issue 3741)
Canonicalize nargs (to be a tuple) in Function class
Implement some suggestions on PR#2201
Modify Function classes (nargs: int -> tuple)
Fix tests
Revert "Modify Function classes (nargs: int -> tuple)"

This reverts commit 9528e8917ab5cf2c675403204fb9219102bc5cf2.
Merge branch 'master' into 3741-nargs-as-tuple
Drop nargs specifications from Lambda-derived classes
Merge branch 'master' into 3741-nargs-as-tuple
Merge branch 'master' into 3741-nargs-as-tuple
Implement nargs canonicalization in the FunctionClass metaclass
Test nargs canonicalization
Merge branch 'master' into 3741-nargs-as-tuple
Cleanup nargs handling
Merge branch 'master' into 3741-nargs-as-tuple
Merge branch 'master' into 3741-nargs-as-tuple
fix error messages wrt what defines plural

Conflicts:
	sympy/core/function.py
make nargs of functions with args an int

nargs, defined in classes like sin and cos are integers, reflecting
the fact that they take only one argument; in the case of log, the
class defines nargs as a tuple since log can take 1 or 2 arguments.
For consistency, at instanciation all nargs are converted to a tuple
of acceptable values. If any number of arguments are acceptable, then
the empty tuple is used.

    f(x).nargs == sin(x).nargs == log(x).nargs == 1

To set the number of args for user-defined function or WildFunction,
use keyword `nargs`, setting it to the desired value (or list of
acceptable values).
add explicit nargs to exp and exp_polar

Why didn't these inherit from ExpBase??
restore setting of nargs and remove inline comment