Coerce args into tuple if necessary.

Same logic as in scipy.integrate.quad.

Fixes #3503 and Fixes #3785.
Added regression test.
Removed superfluous try-except block.
Coerce args to tuple if necessary.

Added unittest as well.
Coerced args to tuple in root as well.

... and added a test.
Merge pull request #3924 from venthur/fix-3503

Coerce args into tuple if necessary.