Added the ability to form flattened clusters. Basically, each cluster tracks all leaves under it. The clustering stops when minimum inter-cluster distance is greater than the threshold. The leaves under these clusters are considered as neighbors.
Added toNewickString method on Cluster class.
Thanks to BrunoMeyer and utsavdrolia for their contributions.