Hierarchical Clustering via Spreading Metrics