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

To be consistent with the rest of the project _input_array => X_train? Why does it need to be private?