[MRG] Locality Sensitive Hashing for approximate nearest neighbor search

New PR created from #3304
Iterating over estimators is not a big deal: we assume it is small compared to number of query samples. You're not going to get a huge time benefit from doing this transform in bulk, but there is overhead for each sample if you do not.