BUG: Fix duplicate node creation when importing scene

Duplicate MRML nodes were created when loaded a scene with persistent connector node and an active server.

Fixed by activating the connector nodes at the end of the scene import.
BUG: Fixed memory corruption

In debug mode node Visibility and PushOnConnect checkboxes didn't work due to this memory corruption bug (a temporary buffer was used, which was not valid)
BUG: Fix references to locator nodes

Simple node attributes were used for storing node IDs of locator nodes. If the scene already contained nodes with the same model IDs then the locator nodes were hijacked.

Solution: use node references that take care of conflicting node IDs in the existing and imported scene.
BUG: Socket connection remains open after deleting connector node

The logic class kept an observer on the connector node until the logic class was deleted (when Slicer exited), therefore socket connections were not closed until Slicer exited.

Fixed by observing removing the observer when the connector node is deleted. Now the socket connection is closed if the connector node is deleted or the scene is closed.
Merge branch '34-openigtlink-reconnect-on-scene-load-fix'