Add authenticationFactory.initialize()

It returns a Promise which resolves when the authenticationFactory can be used.

UA#onTransportConnected waits for initialize to resolve before registering.

If an authenticationFactory does not provide initialize, it is patched to
immediately resolve.
RequestSender: don't assume UA config password is necessary for auth

authenticationFactory.initialize could be used to derive the password on the fly