A vault is a persistent store for values of arbitrary types.  It's
like having first-class access to the storage space behind IORefs.
The data structure is analogous to a bank vault, where you can
access different bank boxes with different keys; hence the name.
Also provided is a /locker/ type, representing a store for a single
element.
