[MRG] Locality Sensitive Hashing for approximate nearest neighbor search

New PR created from #3304
Then there will be redundant work, isn't it? Hashing queries for all estimators need to be done anyway so doing that outside this loop will again iterate over estimators.