[MRG] Locality Sensitive Hashing for approximate nearest neighbor search

New PR created from #3304
I think this is ultimately missing two parameters: `metric='cosine'` (I think this should be here if only to make absolutely clear that 'cosine' is the default, not Euclidean.) The other missing parameter may be the hashing estimator, although how to design that precisely such that the two interact sanely will likely require discussion.

Perhaps neither can be implemented for now, but the documentation for the class, and probably for the `dist` return values from `kneighbors` and `radius_neighbors` must state that the metric is cosine.