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

You have
```
len(candidates) < n_candidates or len(set(candidates)) < m
len(candidates) < max(n_candidates, m)
```

Thus you can compute `max(n_candidates, m)`only once.