dist function that supports custom metricsdist, x has to be a vector and the the distance metric
is an arbitrary function that must be symmetric and definite.
customDist(x, metric, diag = FALSE, upper = FALSE)TRUE iff the diagonal of the distance matrix should be printed by
print.dist.TRUE iff the upper triangle of the distance matrix should be printed
by print.dist.dist