REL-2099: fixed endless stream of exceptions with locked keychain

While working on REL-2091 I noticed that if you lock the keychain with a program open, you get an endless stream of exceptions because permission checks **fail** with an exception due to the locked keychain, rather than returning `false`. All `KeyFailure` values can be interpreted as `false` in this context, so that's what this change does.