Reassess distances and check it properly reduces to neighbor-joining

Distances are now calculated identically to neighbor-joining and only
the *choice* of which nodes to join is influenced by the join costs.