Secure key store

Here's the first pass of the implementation of a secure key store, which will manage the secure storage and retrieval of user-created encryption keys.