Drop class: Pass exceptions to logger; Fix retrieve() bug

See commit messages for details.
There's also this InvalidKeyException comment that has been changed - there's no TODO if this exception is part of the normal decryption routine, imho
How is e handled by the logger? Does it print the stacktrace, or what will the output be?