Use 64-bit FNV1a hash instead of previous multibyte strategy

The previous strategy only works for aligned addresses. I had assumed they
were aligned due to the fact that we copy all key/values, but it seems that
there are some uses where this doesn't happen, resulting in crashes. This
patch does byte-by-byte comparisons, which really should succeed regardless
of data alignment.
Merge pull request #170 from dhobsd/master

Use 64-bit FNV1a hash instead of previous multibyte strategy
Merge remote-tracking branch 'upstream/master'