use correct parser for interactions.

Interaction data is already a csv with a header, no need to add another.
Must select before appending.

We have to use D3's select before we can use it's append to add the required
elements.
Deal with missing nts when drawing interactions.

When drawing interactions it is possible that some of the nts we wish to draw
to do not exist. We deal with this here. We now filter the list of interactions
to have only ones where both nts can be found.
Correct argument order for using map.
Add todo note about width.
Improve error logging when generating components.

Before it just logged and error which is not too useful. This now lets you know
what component caused and error and then logs. Still not super useful but
better than nothing.
Correct bug in getting selector.

We can just pass the html node to plot.selection to generate the correct
selection in d3. What we were doing before is very wrong and this fixes that
problem.
Plot is a function of no arguments and fix drawing

Plot does not need to take the selection as an argument that only makes things
more complicated. In addition, drawing was not happening because we did not
select the top level stuff correctly. This fixes it by appending the svg as
needed as well as setting the width and the like.
Set line property correctly.

Line property was not being set in the correct scope. This corrects that so we
can actually get the line end points.
Update lib