KDTree enhancements

This addresses issue #161. 

Remaining to be done:

- [ ] velocity dispersion unit test (based on velocity dispersion calculated with old KDTree) is failing and needs fixing
- [ ] should be able to calculate mean and dispersion of 1D as well as 3D arrays
- [ ] should be able to use either float or double arrays