[MRG] Locality Sensitive Hashing for approximate nearest neighbor search

New PR created from #3304
Wouldn't this be inconsistent with radius neighbors since we don't know in advance how many neighbor will be there so that second dimension cannot be specified in `neighbors` or `distances` arrays.