Split invoker to invoker and invokerN

- Eliminate optional argument.
- Remove unnecessary check for `arguments.length`.
- Add unit tests.
agree that `R.slice` should accept array-like objects, but disagree that we should change internal `_slice` to accept negative indices.

1. it's internal 
2. its contract it simple. let's not do any more arg-juggling than we have to please