Recoded animation channel sorting code. In particular, the old code didn't handle "islands" of selected items well (i.e. a chain of several connected items in a row), with some of these cases having unpredictable results. There were also some bugs in the way some of the rearranging methods worked, allowing some invalid operations to be performed. Some of these probably triggered errors such as some channels getting stuck, and so on.