Fixed bugs discovered during integration with Fuse.

Improved support for anchors in the structure layer to replicate a former capability where anchor IDs are updated after anchors are located to make it possible to assign anchors an initial ID before they're located. However, when multiple un-located anchors get located in the same place their IDs get synchronized. This is good enough for creating data structures from anchors but to keep the cost low of anchor management, if anchors in a data structure get located while the data structure is active, to make it reflect the new IDs the data structure needs to be recreated with copies of the original anchors, such as by making a copy of it (updating occurs in copy constructors and assignment operators)