Big changes

Renamed methods to be more intuitive. Added method to retrieve values
given keys. Added parameter for whether or not user wants to allow
duplicate keys in the tree. Made custom distance metric a
construction-time parameter as it doesn't make sense to change it after
a tree is constructed. Changed default distance metric to use
already-written length^2 code in QVectorND