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

As the cashed hashes are generated in the fit function before calling `_generate_masks` function. those were able to be used in the mask generation process to. So I used those instead of doing the string conversion. So that the little overhead we might have here is also eliminated.