Add cryptographic key storage

Adds a layer called Storage on top of the DB. The DB is a simple store
retrieve interface and things going through Storage are correctly
encrypted and stored to the database.

Add some routes to allow setting a key through the storage interface.

SecurityImpact
Change-Id: Id8acb8fae0f0908a2bade4f227cd1a181b0075de