Make Cursor detect Datasource row insertions.

Test that it moves the current position if necessary to stay positioned
on the same row if a row is inserted before the current one.