[MRG] Locality Sensitive Hashing for approximate nearest neighbor search

New PR created from #3304
Let's give this a better name like `hasher`