Use passphrase from keychain if available

As an application we should not store the use user's passphrase ourself.
So we ask for it when it's needed and drop it when we don't need it
anymore. It is likely to be a bit tedious for users to enter the
passphrase every one of those times. What we can do is check the
keychain if the passphrase is already there and attempt to use it.

Using the keychain means that we should have some way to get the
passphrase into the keychain. Although the user can do this from a
keychain management program it is common for applications to add it to
the keychain upon the request of the user. Add a checkbox to the
authentication window and only store the passphrase if authentication
was successful and the checkbox was checked.

Signed-off-by: Marcus Karlsson <mk@acc.umu.se>