Fixed a couple of bugs with finite differencing boundary variables in Andrew's tower model.

1. When finite differencing a parameter array in a boundary variable that is connected to multiple targets in the graph, we needed to make sure we didn't increment the step twice on the same array in memory.

2. In the code that adds a boundary variable to a subvar target node that is referenced by the parameters, we were creating the edge without first adding the new target node as a subvar. This problem sometimes didn't occur until now because the subvar is sometimes created first, but whether it is depends on the hash order of the edge list.