add metric mappings to dist_metrics
binary tree: make valid_metrics a class variable
dist_metrics: allow callable metric
add chebyshev distance to kd tree