Fixes ENYO-3858 - Destroyed Models in a Collection are not deselected by DataRepeater

Consolidated selection logic in DataRepeater so that deselection could occur without trying to retrieve the removed model from the collection. I included this fix for DataList as well. The only quirky code is the inclusion of a blank remove() function in DataList. Could have refactored modelsRemoved in DataRepeater to avoid this but elected not to.

Added a test for this as well and validated it failed before and works now.

Enyo-DCO-1.1-Signed-off-by: Ryan Duffy <ryan@tiqtech.com>