using uthash to keep a hashtable of byte triples instead of an array of byte pairs (since the minimum back reference size is 3 bytes)