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.