In order to join a keyserver we need to make sure that the user is authenticated. To do that, we need to make sure that the keyserver is present in the store and that the keyserver connection handler successfully performed the auth.
The solution is to replace a simple async action with creating a new promise, that is resolved or rejected after a timeout or after a successful or unsuccessful join operation.
Depends on D10991