Keyboard._restoreFocus() clears the active selection in 'extended' mode

If the focused row/cell receives an update from the store, the existing selection will be cleared during the focus restoration process. This only affects the 'extended' selection mode.

This is easily reproducible in the `dgrid/test/Selection.html` page.

1. Load the page and scroll down to the second grid titled **A grid with cell-level selection (default selection mode of "extended")**.
1. Hold SHIFT and make a selection from Row5,Col1 to Row0,Col1 (the first 5 vertical cells in the first column). You now have Row0,Col1 focused as it was the last one you clicked.
1. Open the console and run `gridCellNavigation.store.put(gridCellNavigation.store.get(1))`. The selection remains intact.
1. Now run `gridCellNavigation.store.put(gridCellNavigation.store.get(0))`. The selection is cleared and only Row0,Col1 remains selected.

When `Keyboard._restoreFocus()` runs, it fires the `dgrid-cellfocusin` event. `Selection._extendedSelectionHandler()` picks this up and clears the active selection.