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

Also the ordering of the returned values should be consistent: first the distances then the indices (although I agree this is not very intuitive but I think being consistent is more important).