ListViewController: extract index decision to its own method

This PR introduces a change to `KDListViewController` with extracting `the decision of index` depending on `lastToFirst` option to its own method. This gives us some advantages:

- It can be overriden by subclasses so that those can have their own mechanism.
- Remove hard dependency of `lastToFirst`.
can we rename the method as `getIndex`?