Make model set id attribute at top level, and update if changed using set method
Renamed push() method to add()
Switched to use "id" model property, instead of get.  Added exception for duplicate ids.
Make destroy call deselect() before clearing data, whitespace changes
Updated remove method to accept variable number of arguments
Added "sort" event when collection is sorted.  Added comments in other places where events are triggered, describing any event arguments