Include old and new position in Cursor events.
Add a note that ROW_COUNT_CHANGE is deprecated.
Reload record values into Cursor after save.

In case the backend changed them, or some columns were missing values.
Allow suppressing the MOVE_TO event sent by Cursor.save().

Add a Cursor.moveInternal() method to ensure that movement events are sent
consistently with a MOVE_TO event.

Document Cursor.RowEvent.getPosition() method, i.e. what you can expect to
be the "position" of different kinds of row events.
Cursor test Datasource should wrap objects, not columns.

For consistency with other data sources.
Fix and test saving a dirty Cursor.
Move assertValidRow up into Datasource class.

Allows it to be used by subclasses such as TestDataSource.
Remove the Datasource ROW_COUNT_CHANGE event.

As noted in the comments, this event doesn't make any sense to recipients,
and it needs to be replaced by events that do.
Test that Cursor.setPosition() also includes new position in BEFORE_DISCARD event.
Merge commit '3aec549'

Conflicts:
	Cursor.js