add/remove events always give you back arrays
can.List add event should always be an array
Don't trigger remove events on shift/pop for 0-length lists
Change events trigger with numerical index when indices were changed