Added cached hashes for efficient integer hashes.
Guassian Random Projections is used for LSH random projections