Split invoker to invoker and invokerN

- Eliminate optional argument.
- Remove unnecessary check for `arguments.length`.
- Add unit tests.
I tend to agree. I think it makes this function quite complex and is also the reason why `R.slice` doesn't work or arguments objects.