Changed the implementation of how the NETWORK node works.

Nodes that are networks are required to have the NETWORK node as its prototype or as one of its ancestor's prototype.
Replaced variable by method lookup.
Made sure the _root and _network prototype ids are recognized.
The "core" library is now an internal library that's included in every node repository.
Return of the core.ndbx file.

This is the core library that always gets loaded. It imports the ROOT and NETWORK nodes so that they can be referenced as prototypes when needed. It also leaves the possibility open to add more core nodes.
Renamed the ROOT node 'node'. 
'node' and 'network' are now reserved names.
'root' can only be given as a name to top-level nodes, not as child nodes.
Written test to make sure 'network' and 'node' don't qualify as valid names for nodes.
Also, only the top level node in any given network is allowed to have the name 'root'.
The "Go in network" popup item is only shown when the selected node is a network node.
When trying to rename a node to 'root' in the network view, this will now open up an error dialog.
Previously this error would throw an exception that would silently disappear.
Added more naming tests.
Merge branch 'nodesnetworks'