Add atomicReplace() operation in Datasource.

Check for concurrent modifications in Cursor, and throw an exception.