Updated swap method
Updated swap method

Added custom handler for ObservableList instances, because it was
reported (#884) that treeviews do not sync their UI state properly when
swap is called on a backing observable list.
This patch should fix that behavior by avoiding calling swap for
ObservableLists, instead manually removing and re-adding the elements at
the specified indices.

edvin/tornadofx,edvin/tornadofx