Added use strict pragma, added key function for graph data additions. These are both really important.
#294 Fixed some strict pragma bugs, figured out what the limits of D3 are for my purpose. D3 does not allow sub-selections of the enter() selection, except in ways that break the binding of data to the selection. Data cannot be rebound, so to speak. I am fairly certain that I should set the graph up with D3 and its idioms, but then use JQuery idioms to cherry pick DOM elements that need updating. This means that my update function will be meta-D3, and won't have any D3 in it. It's odd, but I believe it may be necessary. Alternatives include recreating the entire graph on update, or allowing extra elements to be created on each update. One of those is a time cost, and the other is a memory and time cost. I can use ontology virtual ids on DOM elements so that I can pick them out later with JQuery, as opposed to using the D3 binding to find associated elements.