Optimized KDTree.
Now, LeafNodes can more than one value, allowing the search to terminate early.
All values held by a leaf are stored in contiguous memory and iterated over.