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
Line is too long, please break it. :)