Fix selection being corrupted after grid reload

This commit fixes a bug where a grid reload can lead to invalid selections,
as the same rows are selected, even if there's a different ordering of objects
in the new dataset. Now the object_id columns are remembered and used
to determine if a page contains previously selected objects after a reload,
this is implemented in ObjectSelectionModel

refs #4452