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

Stylistic nitpick: when switching on a boolean, please put the positive case first, esp. when the negative case takes fewer lines of code.