ENYO-266 Delay unchecking item until checking is done.
To guarantee same behavior between tapping checkboxItem and direct calling of setSelectedIndex(),
we should prevent unchecking work before checking is finished due to Group.active updating.

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
ENYO-266 FIx Travis CI

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
ENYO-266 Fix loop iteration err
Current code could not execute for statement.

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
ENYO-266 Disable event bubbling when checkbox off
It is compensate code for https://github.com/enyojs/moonstone/commit/95d79a
Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
ENYO-266 Prevent 'onChange' event when we destroy clientControls.
In multiple select supported, removeControl() calls selectedChanged() without any arguments.
It will destroy clientControls of picker but onChange event is fired during this work.

On the other hand, if we call removeControl without multiple support, it does not fire onChange event.

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
ENYO-266 Prevent event bubbling instead of delaying de-select.

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
ENYO-266 Use flag to distinguish direct selectChanged call from removeControl()

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
ENYO-266 Decouple rebuilding selected array from removeControl() for better readability.

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
ENYO-266 Fix typo

Enyo-DCO-1.1-Signed-off-by: David Um david.um@lge.com
ENYO-266: Factor out rebuilding of selected indices.

Enyo-DCO-1.1-Signed-off-by: Aaron Tam <aaron.tam@lge.com>
ENYO-266: Cleaned-up some unnecessary code.

Enyo-DCO-1.1-Signed-off-by: Aaron Tam <aaron.tam@lge.com>
ENYO-266: Renamed rebuildSelected to rebuildSelectedIndices for clarity.

Enyo-DCO-1.1-Signed-off-by: Aaron Tam <aaron.tam@lge.com>
Merge pull request #1648 from enyojs/enyo-266-davidum

ENYO-266 Delay unchecking item until checking is done.

Reviewed-by: Aaron Tam (aaron.tam@lge.com)