Fix #886: Add ColumnHider trigger node to domNode to always be visible

dgrid 0.3.14 introduced a regression where the trigger node to open the menu
would no longer appear on browsers with no/hidden scrollbars.  This resolves it
by adding the node as a direct child of the grid's domNode instead, so it is
always visible regardless.

Added support for an rtl query parameter to the ColumnHider test page.

Thanks @treasonx for the initial investigation on this.
Fix handling of RTL scrollbar behavior for IE11+
CHANGES.md: Note ColumnHider regression fix
Add Dijit TextBox editor tests to dgrid/editor functional test suite
Selection: Only emit dgrid-deselect event if previously selected

Also adds tests for select and deselect events;
original test cases courtesy of @treasonx.
CHANGES.md: Note Selection deselect event behavior fix
Fix #885: Escape column IDs in CSS selectors like we do grid IDs

Also avoid calling `put-selector/put` in areas sensitive to this for grid IDs,
as it currently can't handle some characters and doesn't understand escaping.

Special characters in column IDs are replaced with hyphens rather than escaped -
Grid already behaved this way, but updates were necessary to extensions
for consistency.
Add tests for escaping grid/column IDs where necessary
CHANGES.md: Note changes involving special chars in column IDs
Fix #822: Don't modify the selection when clicking on disabled rows
CHANGES.md: Note Selection behavior fix for disabled rows