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

When `np.empty` is used, it causes an error in random projection in the next line. `fit` method in `GaussianRandomProjection` uses `check_array` from `utils.validation` and it does not allow to contain 'NaN's in the array. 
This is the error:
`ValueError: Input contains NaN, infinity or a value too large for dtype('float64').`