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

This is a strange documentation convention, where both "optional" and "default" are included. This is a case where I find "optional" confusing: does it mean that the lower bound itself is optional?