[MRG] Locality Sensitive Hashing for approximate nearest neighbor search

New PR created from #3304
I think it is important to have this parameter separately since that determines the trade-off between accuracy and speed of any number of neighbors queries. In fact, in the LSH Forest paper both `n_candidates` (c) and `n_neighbors` have their own roles in synchronous ascending phase.