Allow Overriding Of Hash Comparison Function

My hash keys are uint64_ts, but LLVM 3.4 doesn't convert the `memcmp(a, b, sizeof(uint64_t))` to `*a == *b`. I'd therefore like to add the option of overriding the hash key comparison macro.