Shift+arrow keys support for selection

Copied from Merge pull request #534 on mleibman. Feb 25, 2013
Add multi-level grouping to DataView

Copied from mliebman February 26, 2013 commit. His original notes
follow:

Based on the original pull request
(https://github.com/mleibman/SlickGrid/pull/522) by ghiscoding.

Deprecated DataVIew APIs (will continue to work):
- .groupBy()
- .setAggregators()

New DataView APIs:
- .getGrouping()
- .setGrouping(groupingInfo)
- .setGrouping([groupingInfo1, groupingInfo2, ...])
- .collapseAllGroups()
- .collapseAllGroups(level)
- .expandAllGroups()
- .expandAllGroups(level)
- .collapseGroup(groupingKey)
- .collapseGroup(level1value, level2value, ...)
- .expandGroup(groupingKey)
- .expandGroup(level1value, level2value, ...)

Grouping info options (for use in .setGrouping() calls):
- getter
- formatter
- comparer
- aggregators
- aggregateCollapsed
- aggregateChildGroups
- collapsed

New Group fields:
- level
- groups
- groupingKey

Also fixed 0-handling in default aggregators.
Optimize up Dataview aggregation

Copied from mliebman commit on February 27, 2013
Adding default focusable column option, plus minor optimization to canCellBeActive

Copied from pull request #538 on mleibman on Feb 28, 2013.
Eliminated Huron specific customization to canCellBeActive

This workaround is no longer utilized/needed.