* Major refactor of tree view to support external linking.
* Item update and selection change are now mostly handled by timer for
performance improvement.
* Major change to drag and drop for better support of switching between
copy, move and replace action, and auto adjustment of placement and
relative link.
* Add second column for user changable object description.
* Unified tree view options and action into command group
Std_TreeViewActions.
* Modified object search function to find external objects using
Expression syntax.
It seems on some system calling QTreeWidgetItem::takeChildren and then
addChild back is expensive. This fix avoids that but still keeps track
of item order in claimed children
The TreeView item (DocumentObjectItem) and DocumentObject now have a N:1
relationship. Adding or removing object with claimed children no longer
affects existing TreeView items.
In the long time of parallel assembly development an own drag'n'drop interface has been added to master and assembly branch. After merge both have been available. This commit removes one and keeps the more extensive implementation