Make implementing identical hash routines in other languages as painless
as possible. We provide an implementation of a simple hashing algorithm
(FNV-1a) and make an effort define Hashable instances in a way that is
well-documented and sensible, so that e.g. one can (hopefully) easily
implement string hashing routine in JavaScript that will match the way we
hash strings here.

Versioning: Except for instances where we specifically note that we make
no promise of consistency, changes to hash values entail a major version
number bump.