Fix #674: selector: Remove unnecessary check
CHANGES.md: Note selector select-all regression fix
List: don't immediately remove observers for empty result sets; refs #677
OnDemandList: fix noDataNode placement logic; refs #677

Position noDataNode between the two preload nodes to prevent issues later
when inserting new rows
Fix #624: Don't iterate arrays of columns with a for-in loop
CHANGES.md: Note array iteration fixes
Fix test asyncQuery function to handle canceled requests properly
_StoreMixin: Don't fire dgrid-error events for canceled requests
Fix #635: Pagination: cancel outdated requests to avoid duplicate rows
CHANGES.md: Note pagination duplicate rows fix
Fix #658: Selection: use MSPointer events where available

This avoids issues in cases where something (such as dojo/dnd) calls
preventDefault on a MSPointer event, preventing mouseup/mousedown from
firing.
CHANGES.md: Note Selection MSPointer event support
util/misc.each: Handle falsy values gracefully
README: Update dojo and intern version references
OnDemand-removeRow tests: don't assume ES5 Array#forEach
OnDemandList: avoid issuing queries with invalid start/count
Fix #677: Add logic to handle notification of items added to an empty grid
CHANGES.md: reference follow-up issue related to observer cleanup
Update 0.3.9-dev references to 0.3.9 for tag
Update CHANGES.md and package.json version for dev towards 0.3.10