LSH forest

#3894 in just over 80 commits. Moved some LSH-specific utility code back out of the neighbors base classes.

I just want to see if the tests work on this one.