Fixed bug when finding non-existent nodes

Previously the find_node function would return the index of the last
node in the node list, which meant that nodes with links outside the
dataset would all be linked to the final node.

Fixed this by creating new nodes with type "Unknown" - these will be
able to be filtered in the next few versions by excluding nodes with
type "Unknown"