Added configurable hashing and equality functions

Not only will this allow for people to use immutable-hash-trie in
a wider array of cases, it will also allow me to substitute in a
known hash function, allowing for better testing of all the edge
cases.

Hurrah!

It does strike me that this configuration is something that OO is
particularly good at (or a system such as typeclasses).  it would
be nicer to inherit from the default and override, perhaps; but
this would put us further out of scope for considering ASM later.

Also, this library should probably be wrapped ;)

Closes #5