#360 Reducing hairball graph to something more useful. Mapping neighbourhood results in one massive near-clique frequently. I reduced this by maintain a separate 'temporary edge' registry. These edges are only added to the graph when a mouseover happens on one of their endpoints. This allows the hairball of edges to stay invisible, which is more useful, but the user can still see what is interconnected if they mouse over a node. Cleaned up some extremely old and code-stinky edge to node correlation code (which needs more work still). It used to use coordinates of edge and node to see if they were correlated. We have ids for this purpose, which is much safer. Implemented a hack to prevent reheating of the layout when we call start() to register new nodes and links. Refactored and renamed populate methods. Reified string PathOption type to be more useful.