ENYO-643: Synchronize selection states.

### Issue
We had various selection states (`selection`, `multipleSelection`, `groupSelection`) which were becoming out of sync due to mutual exclusion and some coupling. This was somewhat evidenced in the DataGridListSample when toggling the various selection states.

### Fix
We have introduced a new property called `selectionType`, which can be of the value `single` (the default), `multi`, or `group`. Because there was never any logic previously enforcing the fact that multiple selection automatically enables selection in general, we ignore this logic and do not make any assumptions about setting `selection` based on `selectionType`, to keep a cleaner separation between the properties. The `selectionType` property is effectively set via the deprecated selection properties (`multipleSelection` and `groupSelection`), so this should not break existing code. There is a pre-existing issue I noticed where multiple items are selected and `selection` is disabled, resulting in some CSS classes not being properly removed - this seemed better handled in a separate PR.

Enyo-DCO-1.1-Signed-off-by: Aaron Tam <aaron.tam@lge.com>
Since we've only deprecated `groupSelection` and `multiSelection`, we should ensure that those properties stay in sync with `selectionType`. For example, if the dev set `groupSelection` and then set `multipleSelection` both would report true although `selectionType` would report 'multi'.