added new files (hash.*, tests/hash*) in order to implement an efficient hash function, hash_combine().