Still a WIP. This change was made to allow us to use Android's SecretKey API.
Which in turn allows us to store our secret keys in the Android KeyStore.
You can read about the database file format here: doc/db.md
To keep the database schema simple we just save the
otpauth:// url and let KeyInfo take care of checking for
validity.
This patch also includes multiple fixes for the KeyInfo
class.
We still need a separate activity to allow the user to
enter their PIN/password. Currently, "test" is used as the
password for the database.