Fixes to isSelected

Make isSelected() deal more correctly with falsy ids, and also allow it to return the correct value when selectAll has been issued, but the user has not scrolled through all the data in an onDemand list.
small optimization to call put with an array
OnDemandList comments / cleanup
OnDemandList: implement keepScrollPosition on instance and refresh
Update CHANGES.md for OnDemandList#keepScrollPosition
Allow OnDemandList to debounce or throttle, and tweak defaults; fixes #254
Update CHANGES.md for #254
Fix #344: TouchScroll: Don't cancel touchmove if area can't scroll
OnDemandList: have refresh return promise and emit event; refs #188
Pagination: return promise w/ QueryResults from refresh and gotoPage
Add tests for OnDemandList refresh-in-place and event
Document OnDemandList and Pagination refresh changes
Grid: implement cancelable dgrid-sort event for header clicks
Update CHANGES.md to reflect new dgrid-sort event
Grid: re-place sort arrow upon re-render
Update CHANGES.md for sort arrow re-placement fix
Grid: improve API related to overriding sort behavior
Grid: remove _columnsCss method; unused and unclear purpose
remove loadingNode when queries are canceled
Re-wire OnDemandList logic to make renderQuery handle errors properly