use KeyStoreInterface as  clean way for people to implement their own KeyStore

I'd rather not use docblock annotations.
If it's important that they be used (I gather it's mostly for IDE support?) I'd rather introduce them throughout the codebase as a separate piece of work.