[MRG] Locality Sensitive Hashing for approximate nearest neighbor search(GSoC)

So I think this change needs to be in `kneighbors`: it should not touch `radius_neighbors`. I think we need the return value to be deterministic, so I am not sure about this random selection idea. I'd even consider repeating candidates with a warning, or selecting indices 0, 1, 2, ... as needed.