Remove usage of .hash.

Built-in hash methods are randomised across restarts of the ruby VM;
this makes it unsuitable for use as an index key, which must persist
across restarts.

This commit removes usage of .hash, replacing it with:
- a simple rolling hash, in the case of integer LSH.
- conversion from binary to decimal, in the case of binary lsh.

This has the added benefit of reducing the key length for binary lsh
where number_of_random_vectors < 64.
Clean up hashing.

- rename array_to_hash to hash_to_int
- switch to md5, truncated to 32 bits for integer lsh. This should
  provide a better key distribution, and is slightly faster.
Add test for hash_to_int.
Mention bias in test_integer_hash.
Merge pull request #3 from tomjnixon/hash_fix

Remove usage of .hash.