Use uthash to manage the hash of record key -> data instead of Perl hashes & SVs

This lets us use char * keys which are _way_ smaller than the Perl SV * keys.

It's possible that this code is a little slower since we now have to SHA1-ify
each key to make it C-string safe (Sereal has \0 bytes). But on the plus side
running the keys through SHA1 makes them way smaller.
The key length is always the same (27) since we're using SHA1