lib: only track users after act_user_manager_list_users
At the moment, as soon as someone calls act_user_manager_get_default() we end up firing of an asynchronous call to get a list of all users. This is problematic since not all programs using accountsservice want a list of users. This commit changes the code to only get a list of users when the caller invokes act_user_manager_list_users. This does mean some calls that were async before are synchronous now, but user proxies were always obtained synchronously, and they're by far the slowest part of listing users, so I don't expect this introduce any noticeable blocking. Longer term, to fix the sync i/o bits, I think we should probably ditch libaccountsservice and just make accountsservice use ObjectManager interfaces over d-bus.
Showing with 75 additions and 70 deletions