New clustering algorithm, also a new class of clustering algorithm:
Hierarchical Clustering.

There are two approaches for a hierarchical clustering algorithm :
Agglomerative Strategy and Divisive Strategy. The one we are
implementing here is the agglomerative strategy, using single-linkage
clustering method.

More info:
https://sites.google.com/site/dataclusteringalgorithms/hierarchical-clustering-algorithm
http://en.wikipedia.org/wiki/Hierarchical_clustering#Example_for_Agglomerative_Clustering

Later, more methods of clustering for the agglomerative strategy may be
implemented as well.