Fix #705: Selection: reset range if start node was unrendered

When OnDemandList destroys far-off nodes, it can cause problems for
Selection and CellSelection if a long range selection is made after the
original start of the range was removed from the DOM.  This fix prevents
that case from throwing an error, though the range will still be reset.
CHANGES.md: Note long selection range error fix
Fix #714: Improve handling of observable notifications at page boundaries

These changes introduce logic to create and maintain overlap of
pages of query results, in order to counteract problems where
dojo/store/Observable drops items at page boundaries.
Fix improperly-initialized grids in unit tests
CHANGES.md: Note observable item dropping fix
CHANGES.md: Note resolution of issue showing items added at end

This was resolved during the work on overlapping observable results.
More robust check before eliminating observers

Check to ensure all rows have really been removed before eliminating
observers. Also provide better tolerance of missing rows.
Fix #383: Make ColumnSet and CompoundColumns compatible with each other

This also includes a few CSS tweaks to improve the layout of the grid header
when using ColumnSet and CompoundColumns together.

Note that ColumnSet remains agnostic to any details specific to CompoundColumns.
Keyboard: Prevent errors attempting to refocus after structure change
CHANGES.md: Note CompoundColumns + ColumnSet interop
Fix a timing problem which caused an error in unit tests in IE < 9.

This sets _started to false when a list or grid is destroyed, so that
any delayed resize handlers no longer attempt to resize when the grid's
DOM is no longer relevant.
CHANGES.md: Note change to _started behavior in List#destroy
Improve accessibility support in non-Firefox

Only add tabIndex to the scroller in Firefox since setting it prevents
screen readers from seeing the table rows in other browsers.
CHANGES.md: Note non-FF a11y fix
Fix #769: OnDemandList: only add loading node when running a query
CHANGES.md: Note OnDemandList loadingMessage regression fix
Fix #751: pass cell's value to canEdit when using a shared editor
editor: canEdit unit test clean-up

* Add descriptions to assert calls
* Use edit API instead of emitting fake click events
CHANGES.md: Note editor canEdit value argument fix
Fix a problem with a failing test causing the test runner to hang

Also added another removeRow test with justCleanup left undefined.