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
Probably, I just wanted to make sure the logger gets everything possible so finding bugs might get easier.