Change invokerN to take a method name as string

- Implements `invokerN` as discussed in #489.
- Changes and adds tests.
- Removes `invoker`.
- Updates all internal usage of `invoker` and `invokerN`.
- Updates documentation according to the changes.
- Adds an example to the documentation demonstrating the slightly more sophisticated currying supported by `invokerN`.

A few things to note:
- All the internal functions that relies on `invokerN` (these are all string methods) could now in theory be used on other objects implementing the string methods. This is somewhat neat but probably doesn't matter in practice.
- This implementation doesn't support currying like this: `R.invokerN(2)('slice', 6, 8)`. I.e. the first two parameters needs to be supplied. The reason being that the old `invokerN` didn't support it either and that I think partially applying with only an arity isn't something one would want to do/should do. This `invokerN` is already better at currying. However, if others disagree I am open adding it in.

Critique of the implementation etc. is welcome :) This is obviously a breaking change but besides that everything should be fine (all tests pass).