Added KNN method and code cleanup
Added code to calculate nearest neighbors using weighted distances.

Added benchmark method and Distance case class