Encrypt names of name/value pairs

This is an initial spike which encrypts the names of name/value pairs
deterministically using a separate key from values and Synthetic IVs to
provide a deterministic encryption scheme.

HKDF is used to derive a Crypto::SecretBox nonce from the combination of
a key name (for key/value database lookups) and a special HKDF IV
derived along with the symmetric keys for names and values.

The code is getting a bit long in the tooth at this point, and could
probably do with some refactoring. I feel like a "Message" object
is in order or something.