sort: Added failing tests to show that sorting a list won't cause live-binded elements to reflect the sorted list correctly.
sort: Add failing test for the remove-all, add-all events that should trigger after list.sort().
sort: Fix failing tests, by redoing sort() so that it triggers remove/add events.
sort: Should use item.attr(comparator) instead of item[comparator].
sort: `sortedList.push(item)` shouldn't trigger two identical `add` events. Updated a test which I believe was mistakenly accepting this behavior.
sort: I think we shouldn't sort() in push() - it is assumed that the list is sorted already from an earlier direct call to sort(), or because items were pushed into it (which inserts them into their sorted position).
sort: I believe this condition was incorrect, because the regexp would match "12" or "1." but not "1". And thus we'd only need to check the first char is a number.
sort: The docs for the add event say that the added item position is sent, not the new length of the list.
sort: For sorted lists, push() and unshift() will add items at their sorted position. This fixes the failing tests on sort.
Merge branch 'bug-binding-sorted-list' of https://github.com/asavoy/canjs into sortfix