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

Actually forest paradigm does not cause such an issue in the original form. There is a parameter `min_hash_length` of which the default value is 4. This is used to limit the number of candidates selected because candidates with very small hashes do not contribute to nearest neighbors much and it will also cause to overwhelm the set of selected candidates as there are many candidates with short hash length match for a query.
In the original algorithm, candidates are selected until `max_depth` reaches 0. But here we allow to limit that by setting `min_hash_length`. If `min_hash_length` is set to 0, candidates will be selected until matching hash length becomes 0. Hench any input will have a closest hash. So the above problem will be eliminated. 

I think there should be a warning addressing this as well, right? To decrease the `min_hash_length`.