k-means & k-medians with customizable distance functions and centroid initializations for n-D vectors