Split invoker to invoker and invokerN

- Eliminate optional argument.
- Remove unnecessary check for arguments.length.
- Add unit tests.
Fix the argument order of invokerN

Should be similar to curryN and constructN.
Merge pull request #383 from fson/invoker-n

Split invoker to invoker and invokerN