Fix #2929 Drop `collection` reference in removed model

This also dissolves the _removeReference method and ensures removed elements all
receive "remove" event triggers after collection remove mutations are complete.