Improves UserPrivateInfo

This PR fixes the `session.getUser().refresh()` bugs at https://app.getsentry.com/gostellarorg/stellar-client/group/29295196/

In addition, it ensures that `session.getUser()` will never return null after the userLoaded event has been fired.  Furthermore, theres a bit of code cleanup as well.