This is a quick attempt at writing a ball tree for nearest neighbor
searches using numba. I've included a pure python version, and a
version with numba jit decorators. Because class support in numba
is not yet complete, all the code is factored out to stand-alone
functions in the numba version. The resulting code produced by
numba is about ~10 times slower than the cython ball tree in
scikit-learn. My guess is that part of this stems from lack of
inlining in numba, while the rest is due to some sort of overhead