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