Reduce number of remote calls while logging in and running inside of a cluster
Number of remote calls (i.e. calls to other nodes) is very high during the login process. For each roster contact a remote call to get the contact presence, active privacy list and default privacy list could be requested.
We can either use a new cache to keep track of the session info. Or we might decide to run the presence probe request in a background thread. Using a new cache will be done first since it should optimize many other use cases other than only logging in and probing presences.