Use a threading macro instead of setf.

Not just for appearance: SBCL can optimize it better. 128 bit hashes, in
particular, are produced twice as fast.
Use tree-case macro.
Add &allow-other-keys to the default method.
Separate 8-bit-string type.

It turns out that "base-char" is not necessarily tantamount to
"octet". In particular, in CCL there is only one character type, so
all chars are base chars.