Limit the number of calls to indexBar:didSelectIndex: [fixed]

Modified version of PR #4, based on feedback.

The last selected index is stored in an instance variable as requested.

What if we just set `_lastSelectedStringIndex` to `NSNotFound` in both `touchesEnded:` and `touchesCancelled:`. I feel like putting this condition in here is confusing as to the “why” it needs to be like this. If we clear the currently selected index after a touch has finished, we would still be able to move to “B” in your example after manually scrolling the table. Thoughts?