Stable sort method for parts list

Stable sort should be used to maintain the relative order as the parts are added.
And I'm not sure but the following codes seemed a programming mistake to me...
```ruby 
def sort_parts!
  @parts.each do |p|
    p.body.set_sort_order(@part_sort_order)
    @parts.sort!(@part_sort_order)
    p.body.sort_parts!
  end
end
```
Tested against 1.8.7, 1.9.2 and 1.9.3.
Hoping for comments.