[MRG] Locality Sensitive Hashing for approximate nearest neighbor search

New PR created from #3304
`tree(estimator)` -> `tree (corresponding to a hash function)`.

I wonder if we should add "The array representation may change in future versions."