Reinstate `KDTree` module.
Clean up code.
Fix compilation issues due to renaming.
WIP: reinstate unit tests.
WIP: clean up unit testing.
Remove redundant methods and improve docstrings.
Clean up implementation.
Add unit tests.
Fix compilation issues.

We cannot pass temporary objects to non-const references.
Simplify test cases.
Fix compilation issue.
Fix warning for signed/unsigned integer comparison.
Rename KDTree test project.
Fix test case for the radius search.
Fix compiler warnings.
Fix typo.
Fix test case for batch radius search.
Use `int` instead of `size_t`.

`size_t` will make it hard to debug our FLANN wrapper and FLANN uses negative `int` values.
Clean up unit tests.
Split kD-tree tests into two parts.