The distance joint needs work (particularly in initial assembly)
The distance joint has some issues with the initial assembly. Moreover, it uses an unnecessary 4 equations where just one would suffice; this is because of an original attempt to make it deal with zero length. I am reworking it in the "distance" branch.