newPositionForItem fails for single item lists

This is a typo or a copy-paste-fail on my part. When
newPositionForItem receives a list with a single item in it
there's no where that the item can move so it should return index 0
but instead returned 1.
It's not a move if item stays at same position

If you have a source list and then a derived list which applies
a filter to that source it's possible that a move in the source
doesn't trigger an actual move in the derived even though the
derived follows the sort order of the source. This makes it
so that we handle that scenario and don't publish a useless
"hey I moved from x to x" notification.