Add DistanceMeasureFactory and WeightedDistanceMeasureFactory
tmp commit
Change DistanceMeasure type from trait to abstract class
Modify help messages
Add `private[mllib]` statement for weighted distance function parameter
Add constructors for weighted distance functions
Remove this(v: Vector) in weighted distance functions
Add comment
Convert `final` into `sealed`
Modify the requirement check in WeightedDistanceMeasure
Modify WeightedDistanceMeasure/Metric objects and Add tests for them