Fixes an issue with IE8 and below where   bindAll(this) on constructors causes errors
Ensures selectionChanged trigger fires atomically (not too many or too few times), even when the selected models are removed from the collection
Preserves the selection when the last item of the list is selected and is removed from the collection