Split invoker to invoker and invokerN

- Eliminate optional argument.
- Remove unnecessary check for `arguments.length`.
- Add unit tests.
If we do, that makes this pretty well equivalent to `func` with a different parameter order, right?  Should we think of removing one of them?

This function was intended originally as a way to turn object methods into plain functions, not as a way to invoke named functions on objects.  The difference is subtle, but real.  I'm not sure whether this use is particularly important, although it is nice for reusing some of the simpler native functions as Ramda ones.