Improve k-d tree implementation
Parts of the k-d tree implementation are quite out of date and should be updated. There seem to be quite a lot of comparisons between doubles and floats as well as storing the coordinate data in floating point precision. I started a branch at !5374 (closed) to try to fix the issue but had problems with some of the tests. That may be a good starting point or may not be but at least it shows what I was trying to do in the cleanup and improvement. I was hitting an issue in ParaView trying to render in parallel semi-transparent isosurfaces of a multiblock dataset that was failing and this was the root cause. I don't think I can share that dataset but in the debugger in vtkKdTree the point that I had was at the following and the corresponding vtkKdNode Min and Max values were:
(gdb) p *point@3
$17 = {721.735535, -79.9894943, -44.5080185}
(gdb) p Top->Min
$18 = {721.73554555212854, -80.77184026592559, -44.508027341088884}
(gdb) p Top->Max
$19 = {722.15470136813849, -79.989484097281007, -43.520205508462823}