[MRG] Locality Sensitive Hashing for approximate nearest neighbor search

New PR created from #3304
Apparently I cannot find why using `assert_warns_message` triggers the error and `assert_warns` does not :(
dtypes of arrays used for dot products are same (in `components_` of `GaussianRandomProjectionHash` and in indexed and queried data)