FIX: Fix spatial object node

The node had a simple pointer on a spatial object which would in no way
modify the polydata. This isn't really robust a a node could only ever be
updated from a TRE file when it was read from file.
Transfering the code that was in the storage node for reading the polydata
of the tube allow the node to update itself.
ENH: Improve logic methods

Add a copy method so we can copy a spatial object from a node to another
from python.
Make the filename optionnal for adding a spatial object node so this method
can be used to create nodes with all their associated display nodes.