REL-2105 keychain actions in QPT

Changed QPT to prompt for a password if the [shared] keychain is locked on startup, and to disable db actions when the keychain is locked.

But of course, nothing is ever this simple. A consequence of the performance improvements in #86 is that the keychain is write-through only, which means last writer wins, and changes made in one app aren't seen in another until restart. This means there is no weird crosstalk between the apps, but I imagine the users will discover this at some point and want a complicated solution.