Vault rewrite, pass 1

Refactor vault into VaultLib, VaultEditor, and VaultAES classes.