[SPARK-2429] [MLlib] Hierarchical Implementation of KMeans

I want to add a divisive hierarchical clustering algorithm implementation to MLlib. I don't support distance metrics other Euclidean distance metric yet. It would be nice to support it at other issue.
Could you review it?

Thanks!

I changed `HierarchicalClusteringConf` class to a trait for `HierarchicalClustering`. And the class parameters were moved to `HierarchicalClustering` such as `numClusters`.
I think if the accessor methods for the algorithm is included `HierarchicalClustering`, it gets larger. So I delegated the methods to the trait class.

https://github.com/yu-iskw/spark/commit/2879b00c39880a4ffc29cefaaffde26df655e63f