Corrected indexesOfCommonElementsWithArray for row insertion.

- Changed indexesOfCommonElementsWithArray to return addedIndexes in the format insertRowsAtIndexPaths:withRowAnimation: expects. It expects the provided index paths to be valid when considered from the point of view of the final table data, not from the point of view of the initial table data. i.e., at the end of the updates, tableView:cellForRowAtIndexPath: for each of the provided index paths must return the rows that were inserted.
- Added tests to verify adding, removing and reordering elements behaves as expected on an actual UITableView.